home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 March / Amiga-CD 1996 #3.iso / pd-software / mui_3.1 / developer / assembler / include / libraries / mui.i < prev   
Encoding:
Text File  |  1996-01-19  |  101.6 KB  |  2,879 lines

  1. ****************************************************************************
  2. **
  3. ** MUI - MagicUserInterface
  4. ** (c) 1993-95 by Stefan Stuntz
  5. **
  6. ** Main Header File
  7. **
  8. *** Assembler modifications 26-Aug-93 by Henri Veisterä.
  9. ** 
  10. *** Updated for MUI V2.2 25-Aug-94 by Paul Hickman.
  11. **
  12. ****************************************************************************
  13. ** General Header File Information
  14. ****************************************************************************
  15. **
  16. ** All macro and structure definitions follow these rules:
  17. **
  18. ** Name                       Meaning
  19. **
  20. ** MUIC_<class>               Name of a class
  21. ** MUIM_<class>_<method>      Method
  22. ** MUIP_<class>_<method>      Methods parameter structure
  23. ** MUIV_<class>_<method>_<x>  Special method value
  24. ** MUIA_<class>_<attrib>      Attribute
  25. ** MUIV_<class>_<attrib>_<x>  Special attribute value
  26. ** MUIE_<error>               Error return code from MUI_Error()
  27. ** MUII_<name>                Standard MUI image
  28. ** MUII_<name>                Object type for MUI_MakeObject()
  29. **
  30. ** MUIA_... attribute definitions are followed by a comment
  31. ** consisting of the three possible letters I, S and G.
  32. ** I: it's possible to specify this attribute at object creation time.
  33. ** S: it's possible to change this attribute with SetAttrs().
  34. ** G: it's possible to get this attribute with GetAttr().
  35. **
  36. ** Items marked with "Custom Class" are for use in custom classes only!
  37. */
  38.  
  39.  
  40.  
  41.    IFND LIBRARIES_MUI_I
  42. LIBRARIES_MUI_I SET 1
  43.  
  44.    IFND EXEC_TYPES_I
  45.    INCLUDE "exec/types.i"
  46.    ENDC  ;EXEC_TYPES_I
  47.  
  48.    IFND INTUITION_CLASSES_I
  49.    INCLUDE "intuition/classes.i"
  50.    ENDC  ;INTUITION_CLASSES_I
  51.  
  52.    IFND INTUITION_SCREENS_I
  53.    INCLUDE "intuition/screens.i"
  54.    ENDC  ;INTUITION_SCREENS_I
  55.  
  56.    IFND UTILITY_HOOKS_I
  57.    INCLUDE "utility/hooks.i"
  58.    ENDC  ;UTILITY_HOOKS_I
  59.  
  60.    IFND LIBRARIES_ASL_I
  61.    INCLUDE "libraries/asl.i"
  62.    ENDC
  63.  
  64.  
  65. ****************************************************************************
  66. ** Library specification
  67. ****************************************************************************
  68.  
  69. MUIMASTER_NAME MACRO
  70.          dc.b     "muimaster.library",0
  71.          even
  72.          ENDM
  73. MUIMASTER_VMIN EQU 11
  74. CALLMUI  MACRO   ; Func
  75.          move.l   _MUIMasterBase(pc),a6
  76.          jsr      _LVO\1(a6)
  77.          ENDM
  78. NULL     equ      0
  79. TRUE     equ      1
  80. FALSE    equ      NULL
  81.  
  82.  
  83. ***************************************************************************
  84. ** Object Types for MUI_MakeObject()
  85. ***************************************************************************
  86.  
  87. MUIO_Label        equ    1   * STRPTR label, ULONG flags 
  88. MUIO_Button       equ    2   * STRPTR label 
  89. MUIO_Checkmark    equ    3   * STRPTR label 
  90. MUIO_Cycle        equ    4   * STRPTR label, STRPTR *entries 
  91. MUIO_Radio        equ    5   * STRPTR label, STRPTR *entries 
  92. MUIO_Slider       equ    6   * STRPTR label, LONG min, LONG max 
  93. MUIO_String       equ    7   * STRPTR label, LONG maxlen 
  94. MUIO_PopButton    equ    8   * STRPTR imagespec 
  95. MUIO_HSpace       equ    9   * LONG space   
  96. MUIO_VSpace       equ    10   * LONG space   
  97. MUIO_HBar         equ    11   * LONG space   
  98. MUIO_VBar         equ    12   * LONG space   
  99. MUIO_MenustripNM  equ    13   * struct NewMenu .*ULONG flags 
  100. MUIO_Menuitem     equ    14   * STRPTR label, STRPTR shortcut, ULONG flags, ULONG data 
  101. MUIO_BarTitle     equ    15   * STRPTR label 
  102.  
  103. MUIO_Label_SingleFrame     equ    1<<8
  104. MUIO_Label_DoubleFrame     equ    1<<9
  105. MUIO_Label_LeftAligned     equ    1<<10
  106. MUIO_Label_Centered             equ    1<<11
  107.  
  108.  
  109.  
  110. ****************************************************************************
  111. ** ARexx Interface
  112. ****************************************************************************
  113.  
  114.  STRUCTURE MUI_Command,0
  115.    APTR     mc_Name
  116.    APTR     mc_Template
  117.    LONG     mc_Parameters
  118.    STRUCT   mc_Hook,h_SIZEOF
  119.    STRUCT   mc_Reserved,4*5
  120.    LABEL    MUI_Command_SIZEOF
  121.  
  122. MC_TEMPLATE_ID EQU ~0
  123.  
  124.  
  125. MUI_RXERR_BADDEFINITION  equ    -1
  126. MUI_RXERR_OUTOFMEMORY    equ    -2
  127. MUI_RXERR_UNKNOWNCOMMAND equ    -3
  128. MUI_RXERR_BADSYNTAX      equ    -4
  129.  
  130.  
  131.  
  132. ****************************************************************************
  133. ** Return values for MUI_Error()
  134. ****************************************************************************
  135.  
  136. MUIE_OK                    EQU 0
  137. MUIE_OutOfMemory           EQU 1
  138. MUIE_OutOfGfxMemory        EQU 2
  139. MUIE_InvalidWindowObject   EQU 3
  140. MUIE_MissingLibrary        EQU 4
  141. MUIE_NoARexx               EQU 5
  142. MUIE_SingleTask            EQU 6
  143.  
  144.  
  145.  
  146. ****************************************************************************
  147. ** Standard MUI Images
  148. ****************************************************************************
  149.  
  150. MUII_WindowBack      EQU 0
  151. MUII_RequesterBack   EQU 1
  152. MUII_ButtonBack      EQU 2
  153. MUII_ListBack        EQU 3
  154. MUII_TextBack        EQU 4
  155. MUII_PropBack        EQU 5
  156. MUII_PopupBack       EQU 6
  157. MUII_SelectedBack    EQU 7
  158. MUII_ListCursor      EQU 8
  159. MUII_ListSelect      EQU 9
  160. MUII_ListSelCur      EQU 10
  161. MUII_ArrowUp         EQU 11
  162. MUII_ArrowDown       EQU 12
  163. MUII_ArrowLeft       EQU 13
  164. MUII_ArrowRight      EQU 14
  165. MUII_CheckMark       EQU 15
  166. MUII_RadioButton     EQU 16
  167. MUII_Cycle           EQU 17
  168. MUII_PopUp           EQU 18
  169. MUII_PopFile         EQU 19
  170. MUII_PopDrawer       EQU 20
  171. MUII_PropKnob        EQU 21
  172. MUII_Drawer          EQU 22
  173. MUII_HardDisk        EQU 23
  174. MUII_Disk            EQU 24
  175. MUII_Chip            EQU 25
  176. MUII_Volume          EQU 26
  177. MUII_PopUpBack       EQU 27
  178. MUII_Network         EQU 28
  179. MUII_Assign          EQU 29
  180. MUII_TapePlay        EQU 30
  181. MUII_TapePlayBack    EQU 31
  182. MUII_TapePause       EQU 32
  183. MUII_TapeStop        EQU 33
  184. MUII_TapeRecord      EQU 34
  185. MUII_GroupBack       EQU 35
  186. MUII_SliderBack      EQU 36
  187. MUII_SliderKnob      EQU 37
  188. MUII_TapeUp          EQU 38
  189. MUII_TapeDown        EQU 39
  190. MUII_Count           EQU 40
  191.  
  192. MUII_BACKGROUND      EQU (128+0)
  193. MUII_SHADOW          EQU (128+1)
  194. MUII_SHINE           EQU (128+2)
  195. MUII_FILL            EQU (128+3)
  196. MUII_SHADOWBACK      EQU (128+4)
  197. MUII_SHADOWFILL      EQU (128+5)
  198. MUII_SHADOWSHINE     EQU (128+6)
  199. MUII_FILLBACK        EQU (128+7)
  200. MUII_FILLSHINE       EQU (128+8)
  201. MUII_SHINEBACK       EQU (128+9)
  202. MUII_FILLBACK2       EQU (128+10)
  203. MUII_HSHINEBACK      EQU (128+11)
  204. MUII_HSHADOWBACK     EQU (128+12)
  205. MUII_HSHINESHINE     EQU (128+13)
  206. MUII_HSHADOWSHADOW   EQU (128+14)
  207. MUII_LASTPAT         EQU (128+15)
  208.  
  209.  
  210. ****************************************************************************
  211. ** Special values for some methods 
  212. ****************************************************************************
  213.  
  214. MUIV_TriggerValue       EQU $49893131
  215. MUIV_NotTriggerValue    EQU $49893133
  216. MUIV_EveryTime          EQU $49893131
  217.  
  218. MUIV_Application_Save_ENV     EQU 0
  219. MUIV_Application_Save_ENVARC  EQU ~0
  220. MUIV_Application_Load_ENV     EQU 0
  221. MUIV_Application_Load_ENVARC  EQU ~0
  222.  
  223. MUIV_Application_ReturnID_Quit   EQU -1
  224.  
  225. MUIV_List_Insert_Top       EQU 0
  226. MUIV_List_Insert_Active    EQU -1
  227. MUIV_List_Insert_Sorted    EQU -2
  228. MUIV_List_Insert_Bottom    EQU -3
  229.  
  230. MUIV_List_Remove_First     EQU 0
  231. MUIV_List_Remove_Active    EQU -1
  232. MUIV_List_Remove_Last      EQU -2
  233.  
  234. MUIV_List_Select_Off       EQU 0
  235. MUIV_List_Select_On        EQU 1
  236. MUIV_List_Select_Toggle    EQU 2
  237. MUIV_List_Select_Ask       EQU 3
  238.  
  239. MUIV_List_GetEntry_Active  EQU -1
  240. MUIV_List_Select_Active    EQU -1
  241. MUIV_List_Select_All       EQU -2
  242.  
  243. MUIV_List_Redraw_Active    EQU -1
  244. MUIV_List_Redraw_All       EQU -2
  245.  
  246. MUIV_List_Move_Top         EQU  0
  247. MUIV_List_Move_Active      EQU -1
  248. MUIV_List_Move_Bottom      EQU -2
  249. MUIV_List_Move_Next        EQU -3 * only valid for second parameter 
  250. MUIV_List_Move_Previous    EQU -4 * only valid for second parameter
  251.  
  252. MUIV_List_Exchange_Top      EQU  0
  253. MUIV_List_Exchange_Active   EQU -1
  254. MUIV_List_Exchange_Bottom   EQU -2
  255. MUIV_List_Exchange_Next     EQU -3 * only valid for second parameter
  256. MUIV_List_Exchange_Previous EQU -4 * only valid for second parameter
  257.  
  258. MUIV_List_Jump_Top          EQU     0
  259. MUIV_List_Jump_Active       EQU    -1
  260. MUIV_List_Jump_Bottom       EQU    -2
  261.  
  262. MUIV_Colorpanel_GetColor_Active  EQU -1
  263. MUIV_Colorpanel_SetColor_Active  EQU -1
  264.  
  265. MUIV_List_NextSelected_Start    EQU  -1
  266. MUIV_List_NextSelected_End      EQU  -1
  267.  
  268.  
  269. ***************************************************************************
  270. ** Parameter structures for some classes
  271. ***************************************************************************/
  272.  
  273.  STRUCTURE MUI_Palette_Entry,0
  274.    LONG    mpe_ID
  275.    LONG    mpe_Red
  276.    LONG    mpe_Green
  277.    LONG    mpe_Blue
  278.    LONG    mpe_Group
  279.    LABEL   MUI_Palette_Entry_SIZEOF
  280.  
  281. MUIV_Palette_Entry_End EQU -1
  282.  
  283.  
  284.  STRUCTURE MUI_Scrmodelist_Entry,0
  285.    APTR     sme_Name
  286.    LONG     sme_ModeID
  287.    LABEL    MUI_Scrmodelist_Entry_SIZEOF
  288.  
  289.  
  290.  
  291.  
  292.  
  293. ;*********************************************
  294. ;** Begin of automatic header file creation **
  295. ;*********************************************
  296.  
  297.  
  298.  
  299.  
  300. ;****************************************************************************
  301. ;** Notify                                                                 **
  302. ;****************************************************************************
  303.  
  304. ;** Methods **
  305.  
  306. MUIM_CallHook                       EQU $8042b96b ;** V4  **
  307. MUIM_FindUData                      EQU $8042c196 ;** V8  **
  308. MUIM_GetUData                       EQU $8042ed0c ;** V8  **
  309. MUIM_KillNotify                     EQU $8042d240 ;** V4  **
  310. MUIM_MultiSet                       EQU $8042d356 ;** V7  **
  311. MUIM_NoNotifySet                    EQU $8042216f ;** V9  **
  312. MUIM_Notify                         EQU $8042c9cb ;** V4  **
  313. MUIM_Set                            EQU $8042549a ;** V4  **
  314. MUIM_SetAsString                    EQU $80422590 ;** V4  **
  315. MUIM_SetUData                       EQU $8042c920 ;** V8  **
  316. MUIM_SetUDataOnce                   EQU $8042ca19 ;** V11 **
  317. MUIM_WriteLong                      EQU $80428d86 ;** V6  **
  318. MUIM_WriteString                    EQU $80424bf4 ;** V6  **
  319.  
  320. ;** Attributes **
  321.  
  322. MUIA_ApplicationObject              EQU $8042d3ee ;** V4  ..g Object *          **
  323. MUIA_AppMessage                     EQU $80421955 ;** V5  ..g struct AppMessage * **
  324. MUIA_HelpLine                       EQU $8042a825 ;** V4  isg LONG              **
  325. MUIA_HelpNode                       EQU $80420b85 ;** V4  isg STRPTR            **
  326. MUIA_NoNotify                       EQU $804237f9 ;** V7  .s. BOOL              **
  327. MUIA_Parent                         EQU $8042e35f ;** V11 ..g Object *          **
  328. MUIA_Revision                       EQU $80427eaa ;** V4  ..g LONG              **
  329. MUIA_UserData                       EQU $80420313 ;** V4  isg ULONG             **
  330. MUIA_Version                        EQU $80422301 ;** V4  ..g LONG              **
  331.  
  332.  
  333.  
  334. ;****************************************************************************
  335. ;** Family                                                                 **
  336. ;****************************************************************************
  337.  
  338. ;** Methods **
  339.  
  340. MUIM_Family_AddHead                 EQU $8042e200 ;** V8  **
  341. MUIM_Family_AddTail                 EQU $8042d752 ;** V8  **
  342. MUIM_Family_Insert                  EQU $80424d34 ;** V8  **
  343. MUIM_Family_Remove                  EQU $8042f8a9 ;** V8  **
  344. MUIM_Family_Sort                    EQU $80421c49 ;** V8  **
  345. MUIM_Family_Transfer                EQU $8042c14a ;** V8  **
  346.  
  347. ;** Attributes **
  348.  
  349. MUIA_Family_Child                   EQU $8042c696 ;** V8  i.. Object *          **
  350. MUIA_Family_List                    EQU $80424b9e ;** V8  ..g struct MinList *  **
  351.  
  352.  
  353.  
  354. ;****************************************************************************
  355. ;** Menustrip                                                              **
  356. ;****************************************************************************
  357.  
  358. ;** Methods **
  359.  
  360.  
  361. ;** Attributes **
  362.  
  363. MUIA_Menustrip_Enabled              EQU $8042815b ;** V8  isg BOOL              **
  364.  
  365.  
  366.  
  367. ;****************************************************************************
  368. ;** Menu                                                                   **
  369. ;****************************************************************************
  370.  
  371. ;** Methods **
  372.  
  373.  
  374. ;** Attributes **
  375.  
  376. MUIA_Menu_Enabled                   EQU $8042ed48 ;** V8  isg BOOL              **
  377. MUIA_Menu_Title                     EQU $8042a0e3 ;** V8  isg STRPTR            **
  378.  
  379.  
  380.  
  381. ;****************************************************************************
  382. ;** Menuitem                                                               **
  383. ;****************************************************************************
  384.  
  385. ;** Methods **
  386.  
  387.  
  388. ;** Attributes **
  389.  
  390. MUIA_Menuitem_Checked               EQU $8042562a ;** V8  isg BOOL              **
  391. MUIA_Menuitem_Checkit               EQU $80425ace ;** V8  isg BOOL              **
  392. MUIA_Menuitem_Enabled               EQU $8042ae0f ;** V8  isg BOOL              **
  393. MUIA_Menuitem_Exclude               EQU $80420bc6 ;** V8  isg LONG              **
  394. MUIA_Menuitem_Shortcut              EQU $80422030 ;** V8  isg STRPTR            **
  395. MUIA_Menuitem_Title                 EQU $804218be ;** V8  isg STRPTR            **
  396. MUIA_Menuitem_Toggle                EQU $80424d5c ;** V8  isg BOOL              **
  397. MUIA_Menuitem_Trigger               EQU $80426f32 ;** V8  ..g struct MenuItem * **
  398.  
  399. MUIV_Menuitem_ShortcutCheck         EQU -1
  400.  
  401.  
  402. ;****************************************************************************
  403. ;** Application                                                            **
  404. ;****************************************************************************
  405.  
  406. ;** Methods **
  407.  
  408. MUIM_Application_AddInputHandler    EQU $8042f099 ;** V11 **
  409. MUIM_Application_CheckRefresh       EQU $80424d68 ;** V11 **
  410. MUIM_Application_GetMenuCheck       EQU $8042c0a7 ;** V4  **
  411. MUIM_Application_GetMenuState       EQU $8042a58f ;** V4  **
  412. MUIM_Application_Input              EQU $8042d0f5 ;** V4  **
  413. MUIM_Application_InputBuffered      EQU $80427e59 ;** V4  **
  414. MUIM_Application_Load               EQU $8042f90d ;** V4  **
  415. MUIM_Application_NewInput           EQU $80423ba6 ;** V11 **
  416. MUIM_Application_OpenConfigWindow   EQU $804299ba ;** V11 **
  417. MUIM_Application_PushMethod         EQU $80429ef8 ;** V4  **
  418. MUIM_Application_RemInputHandler    EQU $8042e7af ;** V11 **
  419. MUIM_Application_ReturnID           EQU $804276ef ;** V4  **
  420. MUIM_Application_Save               EQU $804227ef ;** V4  **
  421. MUIM_Application_SetConfigItem      EQU $80424a80 ;** V11 **
  422. MUIM_Application_SetMenuCheck       EQU $8042a707 ;** V4  **
  423. MUIM_Application_SetMenuState       EQU $80428bef ;** V4  **
  424. MUIM_Application_ShowHelp           EQU $80426479 ;** V4  **
  425.  
  426. ;** Attributes **
  427.  
  428. MUIA_Application_Active             EQU $804260ab ;** V4  isg BOOL              **
  429. MUIA_Application_Author             EQU $80424842 ;** V4  i.g STRPTR            **
  430. MUIA_Application_Base               EQU $8042e07a ;** V4  i.g STRPTR            **
  431. MUIA_Application_Broker             EQU $8042dbce ;** V4  ..g Broker *          **
  432. MUIA_Application_BrokerHook         EQU $80428f4b ;** V4  isg struct Hook *     **
  433. MUIA_Application_BrokerPort         EQU $8042e0ad ;** V6  ..g struct MsgPort *  **
  434. MUIA_Application_BrokerPri          EQU $8042c8d0 ;** V6  i.g LONG              **
  435. MUIA_Application_Commands           EQU $80428648 ;** V4  isg struct MUI_Command * **
  436. MUIA_Application_Copyright          EQU $8042ef4d ;** V4  i.g STRPTR            **
  437. MUIA_Application_Description        EQU $80421fc6 ;** V4  i.g STRPTR            **
  438. MUIA_Application_DiskObject         EQU $804235cb ;** V4  isg struct DiskObject * **
  439. MUIA_Application_DoubleStart        EQU $80423bc6 ;** V4  ..g BOOL              **
  440. MUIA_Application_DropObject         EQU $80421266 ;** V5  is. Object *          **
  441. MUIA_Application_ForceQuit          EQU $804257df ;** V8  ..g BOOL              **
  442. MUIA_Application_HelpFile           EQU $804293f4 ;** V8  isg STRPTR            **
  443. MUIA_Application_Iconified          EQU $8042a07f ;** V4  .sg BOOL              **
  444. MUIA_Application_Menu               EQU $80420e1f ;** V4  i.g struct NewMenu *  **
  445. MUIA_Application_MenuAction         EQU $80428961 ;** V4  ..g ULONG             **
  446. MUIA_Application_MenuHelp           EQU $8042540b ;** V4  ..g ULONG             **
  447. MUIA_Application_Menustrip          EQU $804252d9 ;** V8  i.. Object *          **
  448. MUIA_Application_RexxHook           EQU $80427c42 ;** V7  isg struct Hook *     **
  449. MUIA_Application_RexxMsg            EQU $8042fd88 ;** V4  ..g struct RxMsg *    **
  450. MUIA_Application_RexxString         EQU $8042d711 ;** V4  .s. STRPTR            **
  451. MUIA_Application_SingleTask         EQU $8042a2c8 ;** V4  i.. BOOL              **
  452. MUIA_Application_Sleep              EQU $80425711 ;** V4  .s. BOOL              **
  453. MUIA_Application_Title              EQU $804281b8 ;** V4  i.g STRPTR            **
  454. MUIA_Application_UseCommodities     EQU $80425ee5 ;** V10 i.. BOOL              **
  455. MUIA_Application_UseRexx            EQU $80422387 ;** V10 i.. BOOL              **
  456. MUIA_Application_Version            EQU $8042b33f ;** V4  i.g STRPTR            **
  457. MUIA_Application_Window             EQU $8042bfe0 ;** V4  i.. Object *          **
  458.  
  459.  
  460.  
  461. ;****************************************************************************
  462. ;** Window                                                                 **
  463. ;****************************************************************************
  464.  
  465. ;** Methods **
  466.  
  467. MUIM_Window_GetMenuCheck            EQU $80420414 ;** V4  **
  468. MUIM_Window_GetMenuState            EQU $80420d2f ;** V4  **
  469. MUIM_Window_ScreenToBack            EQU $8042913d ;** V4  **
  470. MUIM_Window_ScreenToFront           EQU $804227a4 ;** V4  **
  471. MUIM_Window_SetCycleChain           EQU $80426510 ;** V4  **
  472. MUIM_Window_SetMenuCheck            EQU $80422243 ;** V4  **
  473. MUIM_Window_SetMenuState            EQU $80422b5e ;** V4  **
  474. MUIM_Window_ToBack                  EQU $8042152e ;** V4  **
  475. MUIM_Window_ToFront                 EQU $8042554f ;** V4  **
  476.  
  477. ;** Attributes **
  478.  
  479. MUIA_Window_Activate                EQU $80428d2f ;** V4  isg BOOL              **
  480. MUIA_Window_ActiveObject            EQU $80427925 ;** V4  .sg Object *          **
  481. MUIA_Window_AltHeight               EQU $8042cce3 ;** V4  i.g LONG              **
  482. MUIA_Window_AltLeftEdge             EQU $80422d65 ;** V4  i.g LONG              **
  483. MUIA_Window_AltTopEdge              EQU $8042e99b ;** V4  i.g LONG              **
  484. MUIA_Window_AltWidth                EQU $804260f4 ;** V4  i.g LONG              **
  485. MUIA_Window_AppWindow               EQU $804280cf ;** V5  i.. BOOL              **
  486. MUIA_Window_Backdrop                EQU $8042c0bb ;** V4  i.. BOOL              **
  487. MUIA_Window_Borderless              EQU $80429b79 ;** V4  i.. BOOL              **
  488. MUIA_Window_CloseGadget             EQU $8042a110 ;** V4  i.. BOOL              **
  489. MUIA_Window_CloseRequest            EQU $8042e86e ;** V4  ..g BOOL              **
  490. MUIA_Window_DefaultObject           EQU $804294d7 ;** V4  isg Object *          **
  491. MUIA_Window_DepthGadget             EQU $80421923 ;** V4  i.. BOOL              **
  492. MUIA_Window_DragBar                 EQU $8042045d ;** V4  i.. BOOL              **
  493. MUIA_Window_FancyDrawing            EQU $8042bd0e ;** V8  isg BOOL              **
  494. MUIA_Window_Height                  EQU $80425846 ;** V4  i.g LONG              **
  495. MUIA_Window_ID                      EQU $804201bd ;** V4  isg ULONG             **
  496. MUIA_Window_InputEvent              EQU $804247d8 ;** V4  ..g struct InputEvent * **
  497. MUIA_Window_LeftEdge                EQU $80426c65 ;** V4  i.g LONG              **
  498. MUIA_Window_Menu                    EQU $8042db94 ;** V4  i.. struct NewMenu *  **
  499. MUIA_Window_MenuAction              EQU $80427521 ;** V8  isg ULONG             **
  500. MUIA_Window_Menustrip               EQU $8042855e ;** V8  i.g Object *          **
  501. MUIA_Window_MouseObject             EQU $8042bf9b ;** V10 ..g Object *          **
  502. MUIA_Window_NeedsMouseObject        EQU $8042372a ;** V10 i.. BOOL              **
  503. MUIA_Window_NoMenus                 EQU $80429df5 ;** V4  is. BOOL              **
  504. MUIA_Window_Open                    EQU $80428aa0 ;** V4  .sg BOOL              **
  505. MUIA_Window_PublicScreen            EQU $804278e4 ;** V6  isg STRPTR            **
  506. MUIA_Window_RefWindow               EQU $804201f4 ;** V4  is. Object *          **
  507. MUIA_Window_RootObject              EQU $8042cba5 ;** V4  isg Object *          **
  508. MUIA_Window_Screen                  EQU $8042df4f ;** V4  isg struct Screen *   **
  509. MUIA_Window_ScreenTitle             EQU $804234b0 ;** V5  isg STRPTR            **
  510. MUIA_Window_SizeGadget              EQU $8042e33d ;** V4  i.. BOOL              **
  511. MUIA_Window_SizeRight               EQU $80424780 ;** V4  i.. BOOL              **
  512. MUIA_Window_Sleep                   EQU $8042e7db ;** V4  .sg BOOL              **
  513. MUIA_Window_Title                   EQU $8042ad3d ;** V4  isg STRPTR            **
  514. MUIA_Window_TopEdge                 EQU $80427c66 ;** V4  i.g LONG              **
  515. MUIA_Window_Width                   EQU $8042dcae ;** V4  i.g LONG              **
  516. MUIA_Window_Window                  EQU $80426a42 ;** V4  ..g struct Window *   **
  517.  
  518. MUIV_Window_ActiveObjectNone        EQU 0
  519. MUIV_Window_ActiveObjectNext        EQU -1
  520. MUIV_Window_ActiveObjectPrev        EQU -2
  521. MUIV_Window_AltHeightMinMax         EQU 0
  522. MUIV_Window_AltHeightVisible        EQU -100
  523. MUIV_Window_AltHeightScreen         EQU -200
  524. MUIV_Window_AltHeightScaled         EQU -1000
  525. MUIV_Window_AltLeftEdgeCentered     EQU -1
  526. MUIV_Window_AltLeftEdgeMoused       EQU -2
  527. MUIV_Window_AltLeftEdgeNoChange     EQU -1000
  528. MUIV_Window_AltTopEdgeCentered      EQU -1
  529. MUIV_Window_AltTopEdgeMoused        EQU -2
  530. MUIV_Window_AltTopEdgeDelta         EQU -3
  531. MUIV_Window_AltTopEdgeNoChange      EQU -1000
  532. MUIV_Window_AltWidthMinMax          EQU 0
  533. MUIV_Window_AltWidthVisible         EQU -100
  534. MUIV_Window_AltWidthScreen          EQU -200
  535. MUIV_Window_AltWidthScaled          EQU -1000
  536. MUIV_Window_HeightMinMax            EQU 0
  537. MUIV_Window_HeightVisible           EQU -100
  538. MUIV_Window_HeightScreen            EQU -200
  539. MUIV_Window_HeightScaled            EQU -1000
  540. MUIV_Window_HeightDefault           EQU -1001
  541. MUIV_Window_LeftEdgeCentered        EQU -1
  542. MUIV_Window_LeftEdgeMoused          EQU -2
  543. MUIV_Window_MenuNoMenu              EQU -1
  544. MUIV_Window_TopEdgeCentered         EQU -1
  545. MUIV_Window_TopEdgeMoused           EQU -2
  546. MUIV_Window_TopEdgeDelta            EQU -3
  547. MUIV_Window_WidthMinMax             EQU 0
  548. MUIV_Window_WidthVisible            EQU -100
  549. MUIV_Window_WidthScreen             EQU -200
  550. MUIV_Window_WidthScaled             EQU -1000
  551. MUIV_Window_WidthDefault            EQU -1001
  552.  
  553.  
  554. ;****************************************************************************
  555. ;** Aboutmui                                                               **
  556. ;****************************************************************************
  557.  
  558. ;** Methods **
  559.  
  560.  
  561. ;** Attributes **
  562.  
  563. MUIA_Aboutmui_Application           EQU $80422523 ;** V11 i.. Object *          **
  564.  
  565.  
  566.  
  567. ;****************************************************************************
  568. ;** Area                                                                   **
  569. ;****************************************************************************
  570.  
  571. ;** Methods **
  572.  
  573. MUIM_AskMinMax                      EQU $80423874 ;** V4  **
  574. MUIM_Cleanup                        EQU $8042d985 ;** V4  **
  575. MUIM_ContextMenuBuild               EQU $80429d2e ;** V11 **
  576. MUIM_ContextMenuChoice              EQU $80420f0e ;** V11 **
  577. MUIM_DragBegin                      EQU $8042c03a ;** V11 **
  578. MUIM_DragDrop                       EQU $8042c555 ;** V11 **
  579. MUIM_DragFinish                     EQU $804251f0 ;** V11 **
  580. MUIM_DragQuery                      EQU $80420261 ;** V11 **
  581. MUIM_DragReport                     EQU $8042edad ;** V11 **
  582. MUIM_Draw                           EQU $80426f3f ;** V4  **
  583. MUIM_HandleInput                    EQU $80422a1a ;** V4  **
  584. MUIM_Hide                           EQU $8042f20f ;** V4  **
  585. MUIM_Setup                          EQU $80428354 ;** V4  **
  586. MUIM_Show                           EQU $8042cc84 ;** V4  **
  587.  
  588. ;** Attributes **
  589.  
  590. MUIA_Background                     EQU $8042545b ;** V4  is. LONG              **
  591. MUIA_BottomEdge                     EQU $8042e552 ;** V4  ..g LONG              **
  592. MUIA_ContextMenu                    EQU $8042b704 ;** V11 isg Object *          **
  593. MUIA_ContextMenuTrigger             EQU $8042a2c1 ;** V11 ..g Object *          **
  594. MUIA_ControlChar                    EQU $8042120b ;** V4  isg char              **
  595. MUIA_CycleChain                     EQU $80421ce7 ;** V11 isg LONG              **
  596. MUIA_Disabled                       EQU $80423661 ;** V4  isg BOOL              **
  597. MUIA_Draggable                      EQU $80420b6e ;** V11 isg BOOL              **
  598. MUIA_Dropable                       EQU $8042fbce ;** V11 isg BOOL              **
  599. MUIA_ExportID                       EQU $8042d76e ;** V4  isg ULONG             **
  600. MUIA_FixHeight                      EQU $8042a92b ;** V4  i.. LONG              **
  601. MUIA_FixHeightTxt                   EQU $804276f2 ;** V4  i.. STRPTR            **
  602. MUIA_FixWidth                       EQU $8042a3f1 ;** V4  i.. LONG              **
  603. MUIA_FixWidthTxt                    EQU $8042d044 ;** V4  i.. STRPTR            **
  604. MUIA_Font                           EQU $8042be50 ;** V4  i.g struct TextFont * **
  605. MUIA_Frame                          EQU $8042ac64 ;** V4  i.. LONG              **
  606. MUIA_FramePhantomHoriz              EQU $8042ed76 ;** V4  i.. BOOL              **
  607. MUIA_FrameTitle                     EQU $8042d1c7 ;** V4  i.. STRPTR            **
  608. MUIA_Height                         EQU $80423237 ;** V4  ..g LONG              **
  609. MUIA_HorizDisappear                 EQU $80429615 ;** V11 isg LONG              **
  610. MUIA_HorizWeight                    EQU $80426db9 ;** V4  i.. WORD              **
  611. MUIA_InnerBottom                    EQU $8042f2c0 ;** V4  i.. LONG              **
  612. MUIA_InnerLeft                      EQU $804228f8 ;** V4  i.. LONG              **
  613. MUIA_InnerRight                     EQU $804297ff ;** V4  i.. LONG              **
  614. MUIA_InnerTop                       EQU $80421eb6 ;** V4  i.. LONG              **
  615. MUIA_InputMode                      EQU $8042fb04 ;** V4  i.. LONG              **
  616. MUIA_LeftEdge                       EQU $8042bec6 ;** V4  ..g LONG              **
  617. MUIA_MaxHeight                      EQU $804293e4 ;** V11 i.. LONG              **
  618. MUIA_MaxWidth                       EQU $8042f112 ;** V11 i.. LONG              **
  619. MUIA_ObjectID                       EQU $8042d76e ;** V11 isg ULONG             **
  620. MUIA_Pressed                        EQU $80423535 ;** V4  ..g BOOL              **
  621. MUIA_RightEdge                      EQU $8042ba82 ;** V4  ..g LONG              **
  622. MUIA_Selected                       EQU $8042654b ;** V4  isg BOOL              **
  623. MUIA_ShortHelp                      EQU $80428fe3 ;** V11 isg STRPTR            **
  624. MUIA_ShowMe                         EQU $80429ba8 ;** V4  isg BOOL              **
  625. MUIA_ShowSelState                   EQU $8042caac ;** V4  i.. BOOL              **
  626. MUIA_Timer                          EQU $80426435 ;** V4  ..g LONG              **
  627. MUIA_TopEdge                        EQU $8042509b ;** V4  ..g LONG              **
  628. MUIA_VertDisappear                  EQU $8042d12f ;** V11 isg LONG              **
  629. MUIA_VertWeight                     EQU $804298d0 ;** V4  i.. WORD              **
  630. MUIA_Weight                         EQU $80421d1f ;** V4  i.. WORD              **
  631. MUIA_Width                          EQU $8042b59c ;** V4  ..g LONG              **
  632. MUIA_Window                         EQU $80421591 ;** V4  ..g struct Window *   **
  633. MUIA_WindowObject                   EQU $8042669e ;** V4  ..g Object *          **
  634.  
  635. MUIV_FontInherit                    EQU 0
  636. MUIV_FontNormal                     EQU -1
  637. MUIV_FontList                       EQU -2
  638. MUIV_FontTiny                       EQU -3
  639. MUIV_FontFixed                      EQU -4
  640. MUIV_FontTitle                      EQU -5
  641. MUIV_FontBig                        EQU -6
  642. MUIV_FontButton                     EQU -7
  643. MUIV_FrameNone                      EQU 0
  644. MUIV_FrameButton                    EQU 1
  645. MUIV_FrameImageButton               EQU 2
  646. MUIV_FrameText                      EQU 3
  647. MUIV_FrameString                    EQU 4
  648. MUIV_FrameReadList                  EQU 5
  649. MUIV_FrameInputList                 EQU 6
  650. MUIV_FrameProp                      EQU 7
  651. MUIV_FrameGauge                     EQU 8
  652. MUIV_FrameGroup                     EQU 9
  653. MUIV_FramePopUp                     EQU 10
  654. MUIV_FrameVirtual                   EQU 11
  655. MUIV_FrameSlider                    EQU 12
  656. MUIV_FrameCount                     EQU 13
  657. MUIV_InputModeNone                  EQU 0
  658. MUIV_InputModeRelVerify             EQU 1
  659. MUIV_InputModeImmediate             EQU 2
  660. MUIV_InputModeToggle                EQU 3
  661.  
  662.  
  663. ;****************************************************************************
  664. ;** Rectangle                                                              **
  665. ;****************************************************************************
  666.  
  667. ;** Attributes **
  668.  
  669. MUIA_Rectangle_BarTitle             EQU $80426689 ;** V11 i.g STRPTR            **
  670. MUIA_Rectangle_HBar                 EQU $8042c943 ;** V7  i.g BOOL              **
  671. MUIA_Rectangle_VBar                 EQU $80422204 ;** V7  i.g BOOL              **
  672.  
  673.  
  674.  
  675. ;****************************************************************************
  676. ;** Balance                                                                **
  677. ;****************************************************************************
  678.  
  679.  
  680. ;****************************************************************************
  681. ;** Image                                                                  **
  682. ;****************************************************************************
  683.  
  684. ;** Attributes **
  685.  
  686. MUIA_Image_FontMatch                EQU $8042815d ;** V4  i.. BOOL              **
  687. MUIA_Image_FontMatchHeight          EQU $80429f26 ;** V4  i.. BOOL              **
  688. MUIA_Image_FontMatchWidth           EQU $804239bf ;** V4  i.. BOOL              **
  689. MUIA_Image_FreeHoriz                EQU $8042da84 ;** V4  i.. BOOL              **
  690. MUIA_Image_FreeVert                 EQU $8042ea28 ;** V4  i.. BOOL              **
  691. MUIA_Image_OldImage                 EQU $80424f3d ;** V4  i.. struct Image *    **
  692. MUIA_Image_Spec                     EQU $804233d5 ;** V4  i.. char *            **
  693. MUIA_Image_State                    EQU $8042a3ad ;** V4  is. LONG              **
  694.  
  695.  
  696.  
  697. ;****************************************************************************
  698. ;** Bitmap                                                                 **
  699. ;****************************************************************************
  700.  
  701. ;** Attributes **
  702.  
  703. MUIA_Bitmap_Bitmap                  EQU $804279bd ;** V8  isg struct BitMap *   **
  704. MUIA_Bitmap_Height                  EQU $80421560 ;** V8  isg LONG              **
  705. MUIA_Bitmap_MappingTable            EQU $8042e23d ;** V8  isg UBYTE *           **
  706. MUIA_Bitmap_Precision               EQU $80420c74 ;** V11 isg LONG              **
  707. MUIA_Bitmap_RemappedBitmap          EQU $80423a47 ;** V11 ..g struct BitMap *   **
  708. MUIA_Bitmap_SourceColors            EQU $80425360 ;** V8  isg ULONG *           **
  709. MUIA_Bitmap_Transparent             EQU $80422805 ;** V8  isg LONG              **
  710. MUIA_Bitmap_UseFriend               EQU $804239d8 ;** V11 i.. BOOL              **
  711. MUIA_Bitmap_Width                   EQU $8042eb3a ;** V8  isg LONG              **
  712.  
  713.  
  714.  
  715. ;****************************************************************************
  716. ;** Bodychunk                                                              **
  717. ;****************************************************************************
  718.  
  719. ;** Attributes **
  720.  
  721. MUIA_Bodychunk_Body                 EQU $8042ca67 ;** V8  isg UBYTE *           **
  722. MUIA_Bodychunk_Compression          EQU $8042de5f ;** V8  isg UBYTE             **
  723. MUIA_Bodychunk_Depth                EQU $8042c392 ;** V8  isg LONG              **
  724. MUIA_Bodychunk_Masking              EQU $80423b0e ;** V8  isg UBYTE             **
  725.  
  726.  
  727.  
  728. ;****************************************************************************
  729. ;** Text                                                                   **
  730. ;****************************************************************************
  731.  
  732. ;** Attributes **
  733.  
  734. MUIA_Text_Contents                  EQU $8042f8dc ;** V4  isg STRPTR            **
  735. MUIA_Text_HiChar                    EQU $804218ff ;** V4  i.. char              **
  736. MUIA_Text_PreParse                  EQU $8042566d ;** V4  isg STRPTR            **
  737. MUIA_Text_SetMax                    EQU $80424d0a ;** V4  i.. BOOL              **
  738. MUIA_Text_SetMin                    EQU $80424e10 ;** V4  i.. BOOL              **
  739. MUIA_Text_SetVMax                   EQU $80420d8b ;** V11 i.. BOOL              **
  740.  
  741.  
  742.  
  743. ;****************************************************************************
  744. ;** Gadget                                                                 **
  745. ;****************************************************************************
  746.  
  747. ;** Attributes **
  748.  
  749. MUIA_Gadget_Gadget                  EQU $8042ec1a ;** V11 ..g struct Gadget *   **
  750.  
  751.  
  752.  
  753. ;****************************************************************************
  754. ;** String                                                                 **
  755. ;****************************************************************************
  756.  
  757. ;** Attributes **
  758.  
  759. MUIA_String_Accept                  EQU $8042e3e1 ;** V4  isg STRPTR            **
  760. MUIA_String_Acknowledge             EQU $8042026c ;** V4  ..g STRPTR            **
  761. MUIA_String_AdvanceOnCR             EQU $804226de ;** V11 isg BOOL              **
  762. MUIA_String_AttachedList            EQU $80420fd2 ;** V4  i.. Object *          **
  763. MUIA_String_BufferPos               EQU $80428b6c ;** V4  .s. LONG              **
  764. MUIA_String_Contents                EQU $80428ffd ;** V4  isg STRPTR            **
  765. MUIA_String_DisplayPos              EQU $8042ccbf ;** V4  .s. LONG              **
  766. MUIA_String_EditHook                EQU $80424c33 ;** V7  isg struct Hook *     **
  767. MUIA_String_Format                  EQU $80427484 ;** V4  i.g LONG              **
  768. MUIA_String_Integer                 EQU $80426e8a ;** V4  isg ULONG             **
  769. MUIA_String_LonelyEditHook          EQU $80421569 ;** V11 isg BOOL              **
  770. MUIA_String_MaxLen                  EQU $80424984 ;** V4  i.g LONG              **
  771. MUIA_String_Reject                  EQU $8042179c ;** V4  isg STRPTR            **
  772. MUIA_String_Secret                  EQU $80428769 ;** V4  i.g BOOL              **
  773.  
  774. MUIV_String_FormatLeft              EQU 0
  775. MUIV_String_FormatCenter            EQU 1
  776. MUIV_String_FormatRight             EQU 2
  777.  
  778.  
  779. ;****************************************************************************
  780. ;** Boopsi                                                                 **
  781. ;****************************************************************************
  782.  
  783. ;** Attributes **
  784.  
  785. MUIA_Boopsi_Class                   EQU $80426999 ;** V4  isg struct IClass *   **
  786. MUIA_Boopsi_ClassID                 EQU $8042bfa3 ;** V4  isg char *            **
  787. MUIA_Boopsi_MaxHeight               EQU $8042757f ;** V4  isg ULONG             **
  788. MUIA_Boopsi_MaxWidth                EQU $8042bcb1 ;** V4  isg ULONG             **
  789. MUIA_Boopsi_MinHeight               EQU $80422c93 ;** V4  isg ULONG             **
  790. MUIA_Boopsi_MinWidth                EQU $80428fb2 ;** V4  isg ULONG             **
  791. MUIA_Boopsi_Object                  EQU $80420178 ;** V4  ..g Object *          **
  792. MUIA_Boopsi_Remember                EQU $8042f4bd ;** V4  i.. ULONG             **
  793. MUIA_Boopsi_Smart                   EQU $8042b8d7 ;** V9  i.. BOOL              **
  794. MUIA_Boopsi_TagDrawInfo             EQU $8042bae7 ;** V4  isg ULONG             **
  795. MUIA_Boopsi_TagScreen               EQU $8042bc71 ;** V4  isg ULONG             **
  796. MUIA_Boopsi_TagWindow               EQU $8042e11d ;** V4  isg ULONG             **
  797.  
  798.  
  799.  
  800. ;****************************************************************************
  801. ;** Prop                                                                   **
  802. ;****************************************************************************
  803.  
  804. ;** Attributes **
  805.  
  806. MUIA_Prop_Entries                   EQU $8042fbdb ;** V4  isg LONG              **
  807. MUIA_Prop_First                     EQU $8042d4b2 ;** V4  isg LONG              **
  808. MUIA_Prop_Horiz                     EQU $8042f4f3 ;** V4  i.g BOOL              **
  809. MUIA_Prop_Slider                    EQU $80429c3a ;** V4  isg BOOL              **
  810. MUIA_Prop_Visible                   EQU $8042fea6 ;** V4  isg LONG              **
  811.  
  812.  
  813.  
  814. ;****************************************************************************
  815. ;** Gauge                                                                  **
  816. ;****************************************************************************
  817.  
  818. ;** Attributes **
  819.  
  820. MUIA_Gauge_Current                  EQU $8042f0dd ;** V4  isg LONG              **
  821. MUIA_Gauge_Divide                   EQU $8042d8df ;** V4  isg BOOL              **
  822. MUIA_Gauge_Horiz                    EQU $804232dd ;** V4  i.. BOOL              **
  823. MUIA_Gauge_InfoText                 EQU $8042bf15 ;** V7  isg STRPTR            **
  824. MUIA_Gauge_Max                      EQU $8042bcdb ;** V4  isg LONG              **
  825.  
  826.  
  827.  
  828. ;****************************************************************************
  829. ;** Scale                                                                  **
  830. ;****************************************************************************
  831.  
  832. ;** Attributes **
  833.  
  834. MUIA_Scale_Horiz                    EQU $8042919a ;** V4  isg BOOL              **
  835.  
  836.  
  837.  
  838. ;****************************************************************************
  839. ;** Colorfield                                                             **
  840. ;****************************************************************************
  841.  
  842. ;** Attributes **
  843.  
  844. MUIA_Colorfield_Blue                EQU $8042d3b0 ;** V4  isg ULONG             **
  845. MUIA_Colorfield_Green               EQU $80424466 ;** V4  isg ULONG             **
  846. MUIA_Colorfield_Pen                 EQU $8042713a ;** V4  ..g ULONG             **
  847. MUIA_Colorfield_Red                 EQU $804279f6 ;** V4  isg ULONG             **
  848. MUIA_Colorfield_RGB                 EQU $8042677a ;** V4  isg ULONG *           **
  849.  
  850.  
  851.  
  852. ;****************************************************************************
  853. ;** List                                                                   **
  854. ;****************************************************************************
  855.  
  856. ;** Methods **
  857.  
  858. MUIM_List_Clear                     EQU $8042ad89 ;** V4  **
  859. MUIM_List_CreateImage               EQU $80429804 ;** V11 **
  860. MUIM_List_DeleteImage               EQU $80420f58 ;** V11 **
  861. MUIM_List_Exchange                  EQU $8042468c ;** V4  **
  862. MUIM_List_GetEntry                  EQU $804280ec ;** V4  **
  863. MUIM_List_Insert                    EQU $80426c87 ;** V4  **
  864. MUIM_List_InsertSingle              EQU $804254d5 ;** V7  **
  865. MUIM_List_Jump                      EQU $8042baab ;** V4  **
  866. MUIM_List_Move                      EQU $804253c2 ;** V9  **
  867. MUIM_List_NextSelected              EQU $80425f17 ;** V6  **
  868. MUIM_List_Redraw                    EQU $80427993 ;** V4  **
  869. MUIM_List_Remove                    EQU $8042647e ;** V4  **
  870. MUIM_List_Select                    EQU $804252d8 ;** V4  **
  871. MUIM_List_Sort                      EQU $80422275 ;** V4  **
  872. MUIM_List_TestPos                   EQU $80425f48 ;** V11 **
  873.  
  874. ;** Attributes **
  875.  
  876. MUIA_List_Active                    EQU $8042391c ;** V4  isg LONG              **
  877. MUIA_List_AdjustHeight              EQU $8042850d ;** V4  i.. BOOL              **
  878. MUIA_List_AdjustWidth               EQU $8042354a ;** V4  i.. BOOL              **
  879. MUIA_List_AutoVisible               EQU $8042a445 ;** V11 isg BOOL              **
  880. MUIA_List_CompareHook               EQU $80425c14 ;** V4  is. struct Hook *     **
  881. MUIA_List_ConstructHook             EQU $8042894f ;** V4  is. struct Hook *     **
  882. MUIA_List_DestructHook              EQU $804297ce ;** V4  is. struct Hook *     **
  883. MUIA_List_DisplayHook               EQU $8042b4d5 ;** V4  is. struct Hook *     **
  884. MUIA_List_DragSortable              EQU $80426099 ;** V11 isg BOOL              **
  885. MUIA_List_DropMark                  EQU $8042aba6 ;** V11 ..g LONG              **
  886. MUIA_List_Entries                   EQU $80421654 ;** V4  ..g LONG              **
  887. MUIA_List_First                     EQU $804238d4 ;** V4  ..g LONG              **
  888. MUIA_List_Format                    EQU $80423c0a ;** V4  isg STRPTR            **
  889. MUIA_List_InsertPosition            EQU $8042d0cd ;** V9  ..g LONG              **
  890. MUIA_List_MinLineHeight             EQU $8042d1c3 ;** V4  i.. LONG              **
  891. MUIA_List_MultiTestHook             EQU $8042c2c6 ;** V4  is. struct Hook *     **
  892. MUIA_List_Quiet                     EQU $8042d8c7 ;** V4  .s. BOOL              **
  893. MUIA_List_ShowDropMarks             EQU $8042c6f3 ;** V11 isg BOOL              **
  894. MUIA_List_SourceArray               EQU $8042c0a0 ;** V4  i.. APTR              **
  895. MUIA_List_Title                     EQU $80423e66 ;** V6  isg char *            **
  896. MUIA_List_Visible                   EQU $8042191f ;** V4  ..g LONG              **
  897.  
  898. MUIV_List_ActiveOff                 EQU -1
  899. MUIV_List_ActiveTop                 EQU -2
  900. MUIV_List_ActiveBottom              EQU -3
  901. MUIV_List_ActiveUp                  EQU -4
  902. MUIV_List_ActiveDown                EQU -5
  903. MUIV_List_ActivePageUp              EQU -6
  904. MUIV_List_ActivePageDown            EQU -7
  905. MUIV_List_ConstructHookString       EQU -1
  906. MUIV_List_DestructHookString        EQU -1
  907.  
  908.  
  909. ;****************************************************************************
  910. ;** Floattext                                                              **
  911. ;****************************************************************************
  912.  
  913. ;** Attributes **
  914.  
  915. MUIA_Floattext_Justify              EQU $8042dc03 ;** V4  isg BOOL              **
  916. MUIA_Floattext_SkipChars            EQU $80425c7d ;** V4  is. STRPTR            **
  917. MUIA_Floattext_TabSize              EQU $80427d17 ;** V4  is. LONG              **
  918. MUIA_Floattext_Text                 EQU $8042d16a ;** V4  isg STRPTR            **
  919.  
  920.  
  921.  
  922. ;****************************************************************************
  923. ;** Volumelist                                                             **
  924. ;****************************************************************************
  925.  
  926.  
  927. ;****************************************************************************
  928. ;** Scrmodelist                                                            **
  929. ;****************************************************************************
  930.  
  931. ;** Attributes **
  932.  
  933.  
  934.  
  935.  
  936. ;****************************************************************************
  937. ;** Dirlist                                                                **
  938. ;****************************************************************************
  939.  
  940. ;** Methods **
  941.  
  942. MUIM_Dirlist_ReRead                 EQU $80422d71 ;** V4  **
  943.  
  944. ;** Attributes **
  945.  
  946. MUIA_Dirlist_AcceptPattern          EQU $8042760a ;** V4  is. STRPTR            **
  947. MUIA_Dirlist_Directory              EQU $8042ea41 ;** V4  isg STRPTR            **
  948. MUIA_Dirlist_DrawersOnly            EQU $8042b379 ;** V4  is. BOOL              **
  949. MUIA_Dirlist_FilesOnly              EQU $8042896a ;** V4  is. BOOL              **
  950. MUIA_Dirlist_FilterDrawers          EQU $80424ad2 ;** V4  is. BOOL              **
  951. MUIA_Dirlist_FilterHook             EQU $8042ae19 ;** V4  is. struct Hook *     **
  952. MUIA_Dirlist_MultiSelDirs           EQU $80428653 ;** V6  is. BOOL              **
  953. MUIA_Dirlist_NumBytes               EQU $80429e26 ;** V4  ..g LONG              **
  954. MUIA_Dirlist_NumDrawers             EQU $80429cb8 ;** V4  ..g LONG              **
  955. MUIA_Dirlist_NumFiles               EQU $8042a6f0 ;** V4  ..g LONG              **
  956. MUIA_Dirlist_Path                   EQU $80426176 ;** V4  ..g STRPTR            **
  957. MUIA_Dirlist_RejectIcons            EQU $80424808 ;** V4  is. BOOL              **
  958. MUIA_Dirlist_RejectPattern          EQU $804259c7 ;** V4  is. STRPTR            **
  959. MUIA_Dirlist_SortDirs               EQU $8042bbb9 ;** V4  is. LONG              **
  960. MUIA_Dirlist_SortHighLow            EQU $80421896 ;** V4  is. BOOL              **
  961. MUIA_Dirlist_SortType               EQU $804228bc ;** V4  is. LONG              **
  962. MUIA_Dirlist_Status                 EQU $804240de ;** V4  ..g LONG              **
  963.  
  964. MUIV_Dirlist_SortDirsFirst          EQU 0
  965. MUIV_Dirlist_SortDirsLast           EQU 1
  966. MUIV_Dirlist_SortDirsMix            EQU 2
  967. MUIV_Dirlist_SortTypeName           EQU 0
  968. MUIV_Dirlist_SortTypeDate           EQU 1
  969. MUIV_Dirlist_SortTypeSize           EQU 2
  970. MUIV_Dirlist_StatusInvalid          EQU 0
  971. MUIV_Dirlist_StatusReading          EQU 1
  972. MUIV_Dirlist_StatusValid            EQU 2
  973.  
  974.  
  975. ;****************************************************************************
  976. ;** Numeric                                                                **
  977. ;****************************************************************************
  978.  
  979. ;** Methods **
  980.  
  981. MUIM_Numeric_Decrease               EQU $804243a7 ;** V11 **
  982. MUIM_Numeric_Increase               EQU $80426ecd ;** V11 **
  983. MUIM_Numeric_ScaleToValue           EQU $8042032c ;** V11 **
  984. MUIM_Numeric_SetDefault             EQU $8042ab0a ;** V11 **
  985. MUIM_Numeric_Stringify              EQU $80424891 ;** V11 **
  986. MUIM_Numeric_ValueToScale           EQU $80423e4f ;** V11 **
  987.  
  988. ;** Attributes **
  989.  
  990. MUIA_Numeric_Default                EQU $804263e8 ;** V11 isg LONG              **
  991. MUIA_Numeric_Format                 EQU $804263e9 ;** V11 isg STRPTR            **
  992. MUIA_Numeric_Max                    EQU $8042d78a ;** V11 isg LONG              **
  993. MUIA_Numeric_Min                    EQU $8042e404 ;** V11 isg LONG              **
  994. MUIA_Numeric_Reverse                EQU $8042f2a0 ;** V11 isg BOOL              **
  995. MUIA_Numeric_RevLeftRight           EQU $804294a7 ;** V11 isg BOOL              **
  996. MUIA_Numeric_RevUpDown              EQU $804252dd ;** V11 isg BOOL              **
  997. MUIA_Numeric_Value                  EQU $8042ae3a ;** V11 isg LONG              **
  998.  
  999.  
  1000.  
  1001. ;****************************************************************************
  1002. ;** Framedisplay                                                           **
  1003. ;****************************************************************************
  1004.  
  1005. ;** Attributes **
  1006.  
  1007.  
  1008.  
  1009.  
  1010. ;****************************************************************************
  1011. ;** Popframe                                                               **
  1012. ;****************************************************************************
  1013.  
  1014.  
  1015. ;****************************************************************************
  1016. ;** Imagedisplay                                                           **
  1017. ;****************************************************************************
  1018.  
  1019. ;** Attributes **
  1020.  
  1021.  
  1022.  
  1023.  
  1024. ;****************************************************************************
  1025. ;** Popimage                                                               **
  1026. ;****************************************************************************
  1027.  
  1028.  
  1029. ;****************************************************************************
  1030. ;** Pendisplay                                                             **
  1031. ;****************************************************************************
  1032.  
  1033. ;** Attributes **
  1034.  
  1035. MUIA_Pendisplay_RGBcolor            EQU $8042a1a9 ;** V11 isg struct MUI_RBBcolor * **
  1036. MUIA_Pendisplay_Spec                EQU $8042a204 ;** V11 isg struct MUI_PenSpec  * **
  1037.  
  1038.  
  1039.  
  1040. ;****************************************************************************
  1041. ;** Poppen                                                                 **
  1042. ;****************************************************************************
  1043.  
  1044.  
  1045. ;****************************************************************************
  1046. ;** Knob                                                                   **
  1047. ;****************************************************************************
  1048.  
  1049.  
  1050. ;****************************************************************************
  1051. ;** Levelmeter                                                             **
  1052. ;****************************************************************************
  1053.  
  1054. ;** Attributes **
  1055.  
  1056. MUIA_Levelmeter_Label               EQU $80420dd5 ;** V11 isg STRPTR            **
  1057.  
  1058.  
  1059.  
  1060. ;****************************************************************************
  1061. ;** Numericbutton                                                          **
  1062. ;****************************************************************************
  1063.  
  1064.  
  1065. ;****************************************************************************
  1066. ;** Slider                                                                 **
  1067. ;****************************************************************************
  1068.  
  1069. ;** Attributes **
  1070.  
  1071. MUIA_Slider_Horiz                   EQU $8042fad1 ;** V11 isg BOOL              **
  1072. MUIA_Slider_Level                   EQU $8042ae3a ;** V4  isg LONG              **
  1073. MUIA_Slider_Max                     EQU $8042d78a ;** V4  isg LONG              **
  1074. MUIA_Slider_Min                     EQU $8042e404 ;** V4  isg LONG              **
  1075. MUIA_Slider_Quiet                   EQU $80420b26 ;** V6  i.. BOOL              **
  1076. MUIA_Slider_Reverse                 EQU $8042f2a0 ;** V4  isg BOOL              **
  1077.  
  1078.  
  1079.  
  1080. ;****************************************************************************
  1081. ;** Group                                                                  **
  1082. ;****************************************************************************
  1083.  
  1084. ;** Methods **
  1085.  
  1086. MUIM_Group_ExitChange               EQU $8042d1cc ;** V11 **
  1087. MUIM_Group_InitChange               EQU $80420887 ;** V11 **
  1088.  
  1089. ;** Attributes **
  1090.  
  1091. MUIA_Group_ActivePage               EQU $80424199 ;** V5  isg LONG              **
  1092. MUIA_Group_Child                    EQU $804226e6 ;** V4  i.. Object *          **
  1093. MUIA_Group_ChildList                EQU $80424748 ;** V4  ..g struct List *     **
  1094. MUIA_Group_Columns                  EQU $8042f416 ;** V4  is. LONG              **
  1095. MUIA_Group_Horiz                    EQU $8042536b ;** V4  i.. BOOL              **
  1096. MUIA_Group_HorizSpacing             EQU $8042c651 ;** V4  is. LONG              **
  1097. MUIA_Group_LayoutHook               EQU $8042c3b2 ;** V11 i.. struct Hook *     **
  1098. MUIA_Group_PageMode                 EQU $80421a5f ;** V5  i.. BOOL              **
  1099. MUIA_Group_Rows                     EQU $8042b68f ;** V4  is. LONG              **
  1100. MUIA_Group_SameHeight               EQU $8042037e ;** V4  i.. BOOL              **
  1101. MUIA_Group_SameSize                 EQU $80420860 ;** V4  i.. BOOL              **
  1102. MUIA_Group_SameWidth                EQU $8042b3ec ;** V4  i.. BOOL              **
  1103. MUIA_Group_Spacing                  EQU $8042866d ;** V4  is. LONG              **
  1104. MUIA_Group_VertSpacing              EQU $8042e1bf ;** V4  is. LONG              **
  1105.  
  1106. MUIV_Group_ActivePageFirst          EQU 0
  1107. MUIV_Group_ActivePageLast           EQU -1
  1108. MUIV_Group_ActivePagePrev           EQU -2
  1109. MUIV_Group_ActivePageNext           EQU -3
  1110.  
  1111.  
  1112. ;****************************************************************************
  1113. ;** Mccprefs                                                               **
  1114. ;****************************************************************************
  1115.  
  1116.  
  1117. ;****************************************************************************
  1118. ;** Register                                                               **
  1119. ;****************************************************************************
  1120.  
  1121. ;** Attributes **
  1122.  
  1123. MUIA_Register_Frame                 EQU $8042349b ;** V7  i.g BOOL              **
  1124. MUIA_Register_Titles                EQU $804297ec ;** V7  i.g STRPTR *          **
  1125.  
  1126.  
  1127.  
  1128. ;****************************************************************************
  1129. ;** Settingsgroup                                                          **
  1130. ;****************************************************************************
  1131.  
  1132. ;** Methods **
  1133.  
  1134.  
  1135. ;** Attributes **
  1136.  
  1137.  
  1138.  
  1139.  
  1140. ;****************************************************************************
  1141. ;** Settings                                                               **
  1142. ;****************************************************************************
  1143.  
  1144. ;** Methods **
  1145.  
  1146.  
  1147. ;** Attributes **
  1148.  
  1149.  
  1150.  
  1151.  
  1152. ;****************************************************************************
  1153. ;** Frameadjust                                                            **
  1154. ;****************************************************************************
  1155.  
  1156. ;** Methods **
  1157.  
  1158.  
  1159. ;** Attributes **
  1160.  
  1161.  
  1162.  
  1163.  
  1164. ;****************************************************************************
  1165. ;** Penadjust                                                              **
  1166. ;****************************************************************************
  1167.  
  1168. ;** Methods **
  1169.  
  1170.  
  1171. ;** Attributes **
  1172.  
  1173. MUIA_Penadjust_PSIMode              EQU $80421cbb ;** V11 i.. BOOL              **
  1174.  
  1175.  
  1176.  
  1177. ;****************************************************************************
  1178. ;** Imageadjust                                                            **
  1179. ;****************************************************************************
  1180.  
  1181. ;** Methods **
  1182.  
  1183.  
  1184. ;** Attributes **
  1185.  
  1186.  
  1187.  
  1188.  
  1189. ;****************************************************************************
  1190. ;** Virtgroup                                                              **
  1191. ;****************************************************************************
  1192.  
  1193. ;** Methods **
  1194.  
  1195.  
  1196. ;** Attributes **
  1197.  
  1198. MUIA_Virtgroup_Height               EQU $80423038 ;** V6  ..g LONG              **
  1199. MUIA_Virtgroup_Input                EQU $80427f7e ;** V11 i.. BOOL              **
  1200. MUIA_Virtgroup_Left                 EQU $80429371 ;** V6  isg LONG              **
  1201. MUIA_Virtgroup_Top                  EQU $80425200 ;** V6  isg LONG              **
  1202. MUIA_Virtgroup_Width                EQU $80427c49 ;** V6  ..g LONG              **
  1203.  
  1204.  
  1205.  
  1206. ;****************************************************************************
  1207. ;** Scrollgroup                                                            **
  1208. ;****************************************************************************
  1209.  
  1210. ;** Methods **
  1211.  
  1212.  
  1213. ;** Attributes **
  1214.  
  1215. MUIA_Scrollgroup_Contents           EQU $80421261 ;** V4  i.. Object *          **
  1216. MUIA_Scrollgroup_FreeHoriz          EQU $804292f3 ;** V9  i.. BOOL              **
  1217. MUIA_Scrollgroup_FreeVert           EQU $804224f2 ;** V9  i.. BOOL              **
  1218.  
  1219.  
  1220.  
  1221. ;****************************************************************************
  1222. ;** Scrollbar                                                              **
  1223. ;****************************************************************************
  1224.  
  1225. ;** Attributes **
  1226.  
  1227. MUIA_Scrollbar_Type                 EQU $8042fb6b ;** V11 i.. LONG              **
  1228.  
  1229. MUIV_Scrollbar_TypeDefault          EQU 0
  1230. MUIV_Scrollbar_TypeBottom           EQU 1
  1231. MUIV_Scrollbar_TypeTop              EQU 2
  1232. MUIV_Scrollbar_TypeSym              EQU 3
  1233.  
  1234.  
  1235. ;****************************************************************************
  1236. ;** Listview                                                               **
  1237. ;****************************************************************************
  1238.  
  1239. ;** Attributes **
  1240.  
  1241. MUIA_Listview_ClickColumn           EQU $8042d1b3 ;** V7  ..g LONG              **
  1242. MUIA_Listview_DefClickColumn        EQU $8042b296 ;** V7  isg LONG              **
  1243. MUIA_Listview_DoubleClick           EQU $80424635 ;** V4  i.g BOOL              **
  1244. MUIA_Listview_DragType              EQU $80425cd3 ;** V11 isg LONG              **
  1245. MUIA_Listview_Input                 EQU $8042682d ;** V4  i.. BOOL              **
  1246. MUIA_Listview_List                  EQU $8042bcce ;** V4  i.g Object *          **
  1247. MUIA_Listview_MultiSelect           EQU $80427e08 ;** V7  i.. LONG              **
  1248. MUIA_Listview_ScrollerPos           EQU $8042b1b4 ;** V10 i.. BOOL              **
  1249. MUIA_Listview_SelectChange          EQU $8042178f ;** V4  ..g BOOL              **
  1250.  
  1251. MUIV_Listview_DragTypeNone          EQU 0
  1252. MUIV_Listview_DragTypeImmediate     EQU 1
  1253. MUIV_Listview_MultiSelectNone       EQU 0
  1254. MUIV_Listview_MultiSelectDefault    EQU 1
  1255. MUIV_Listview_MultiSelectShifted    EQU 2
  1256. MUIV_Listview_MultiSelectAlways     EQU 3
  1257. MUIV_Listview_ScrollerPosDefault    EQU 0
  1258. MUIV_Listview_ScrollerPosLeft       EQU 1
  1259. MUIV_Listview_ScrollerPosRight      EQU 2
  1260.  
  1261.  
  1262. ;****************************************************************************
  1263. ;** Radio                                                                  **
  1264. ;****************************************************************************
  1265.  
  1266. ;** Attributes **
  1267.  
  1268. MUIA_Radio_Active                   EQU $80429b41 ;** V4  isg LONG              **
  1269. MUIA_Radio_Entries                  EQU $8042b6a1 ;** V4  i.. STRPTR *          **
  1270.  
  1271.  
  1272.  
  1273. ;****************************************************************************
  1274. ;** Cycle                                                                  **
  1275. ;****************************************************************************
  1276.  
  1277. ;** Attributes **
  1278.  
  1279. MUIA_Cycle_Active                   EQU $80421788 ;** V4  isg LONG              **
  1280. MUIA_Cycle_Entries                  EQU $80420629 ;** V4  i.. STRPTR *          **
  1281.  
  1282. MUIV_Cycle_ActiveNext               EQU -1
  1283. MUIV_Cycle_ActivePrev               EQU -2
  1284.  
  1285.  
  1286. ;****************************************************************************
  1287. ;** Coloradjust                                                            **
  1288. ;****************************************************************************
  1289.  
  1290. ;** Attributes **
  1291.  
  1292. MUIA_Coloradjust_Blue               EQU $8042b8a3 ;** V4  isg ULONG             **
  1293. MUIA_Coloradjust_Green              EQU $804285ab ;** V4  isg ULONG             **
  1294. MUIA_Coloradjust_ModeID             EQU $8042ec59 ;** V4  isg ULONG             **
  1295. MUIA_Coloradjust_Red                EQU $80420eaa ;** V4  isg ULONG             **
  1296. MUIA_Coloradjust_RGB                EQU $8042f899 ;** V4  isg ULONG *           **
  1297.  
  1298.  
  1299.  
  1300. ;****************************************************************************
  1301. ;** Palette                                                                **
  1302. ;****************************************************************************
  1303.  
  1304. ;** Attributes **
  1305.  
  1306. MUIA_Palette_Entries                EQU $8042a3d8 ;** V6  i.g struct MUI_Palette_Entry * **
  1307. MUIA_Palette_Groupable              EQU $80423e67 ;** V6  isg BOOL              **
  1308. MUIA_Palette_Names                  EQU $8042c3a2 ;** V6  isg char **           **
  1309.  
  1310.  
  1311.  
  1312. ;****************************************************************************
  1313. ;** Popstring                                                              **
  1314. ;****************************************************************************
  1315.  
  1316. ;** Methods **
  1317.  
  1318. MUIM_Popstring_Close                EQU $8042dc52 ;** V7  **
  1319. MUIM_Popstring_Open                 EQU $804258ba ;** V7  **
  1320.  
  1321. ;** Attributes **
  1322.  
  1323. MUIA_Popstring_Button               EQU $8042d0b9 ;** V7  i.g Object *          **
  1324. MUIA_Popstring_CloseHook            EQU $804256bf ;** V7  isg struct Hook *     **
  1325. MUIA_Popstring_OpenHook             EQU $80429d00 ;** V7  isg struct Hook *     **
  1326. MUIA_Popstring_String               EQU $804239ea ;** V7  i.g Object *          **
  1327. MUIA_Popstring_Toggle               EQU $80422b7a ;** V7  isg BOOL              **
  1328.  
  1329.  
  1330.  
  1331. ;****************************************************************************
  1332. ;** Popobject                                                              **
  1333. ;****************************************************************************
  1334.  
  1335. ;** Attributes **
  1336.  
  1337. MUIA_Popobject_Follow               EQU $80424cb5 ;** V7  isg BOOL              **
  1338. MUIA_Popobject_Light                EQU $8042a5a3 ;** V7  isg BOOL              **
  1339. MUIA_Popobject_Object               EQU $804293e3 ;** V7  i.g Object *          **
  1340. MUIA_Popobject_ObjStrHook           EQU $8042db44 ;** V7  isg struct Hook *     **
  1341. MUIA_Popobject_StrObjHook           EQU $8042fbe1 ;** V7  isg struct Hook *     **
  1342. MUIA_Popobject_Volatile             EQU $804252ec ;** V7  isg BOOL              **
  1343. MUIA_Popobject_WindowHook           EQU $8042f194 ;** V9  isg struct Hook *     **
  1344.  
  1345.  
  1346.  
  1347. ;****************************************************************************
  1348. ;** Poplist                                                                **
  1349. ;****************************************************************************
  1350.  
  1351. ;** Attributes **
  1352.  
  1353. MUIA_Poplist_Array                  EQU $8042084c ;** V8  i.. char **           **
  1354.  
  1355.  
  1356.  
  1357. ;****************************************************************************
  1358. ;** Popscreen                                                              **
  1359. ;****************************************************************************
  1360.  
  1361. ;** Attributes **
  1362.  
  1363.  
  1364.  
  1365.  
  1366. ;****************************************************************************
  1367. ;** Popasl                                                                 **
  1368. ;****************************************************************************
  1369.  
  1370. ;** Attributes **
  1371.  
  1372. MUIA_Popasl_Active                  EQU $80421b37 ;** V7  ..g BOOL              **
  1373. MUIA_Popasl_StartHook               EQU $8042b703 ;** V7  isg struct Hook *     **
  1374. MUIA_Popasl_StopHook                EQU $8042d8d2 ;** V7  isg struct Hook *     **
  1375. MUIA_Popasl_Type                    EQU $8042df3d ;** V7  i.g ULONG             **
  1376.  
  1377.  
  1378.  
  1379. ;****************************************************************************
  1380. ;** Semaphore                                                              **
  1381. ;****************************************************************************
  1382.  
  1383. ;** Methods **
  1384.  
  1385. MUIM_Semaphore_Attempt              EQU $80426ce2 ;** V11 **
  1386. MUIM_Semaphore_AttemptShared        EQU $80422551 ;** V11 **
  1387. MUIM_Semaphore_Obtain               EQU $804276f0 ;** V11 **
  1388. MUIM_Semaphore_ObtainShared         EQU $8042ea02 ;** V11 **
  1389. MUIM_Semaphore_Release              EQU $80421f2d ;** V11 **
  1390.  
  1391.  
  1392. ;****************************************************************************
  1393. ;** Applist                                                                **
  1394. ;****************************************************************************
  1395.  
  1396. ;** Methods **
  1397.  
  1398.  
  1399.  
  1400. ;****************************************************************************
  1401. ;** Dataspace                                                              **
  1402. ;****************************************************************************
  1403.  
  1404. ;** Methods **
  1405.  
  1406. MUIM_Dataspace_Add                  EQU $80423366 ;** V11 **
  1407. MUIM_Dataspace_Clear                EQU $8042b6c9 ;** V11 **
  1408. MUIM_Dataspace_Merge                EQU $80423e2b ;** V11 **
  1409. MUIM_Dataspace_ReadIFF              EQU $80420dfb ;** V11 **
  1410. MUIM_Dataspace_Remove               EQU $8042dce1 ;** V11 **
  1411. MUIM_Dataspace_WriteIFF             EQU $80425e8e ;** V11 **
  1412.  
  1413. ;** Attributes **
  1414.  
  1415. MUIA_Dataspace_Pool                 EQU $80424cf9 ;** V11 i.. APTR              **
  1416.  
  1417.  
  1418.  
  1419. ;****************************************************************************
  1420. ;** Configdata                                                             **
  1421. ;****************************************************************************
  1422.  
  1423. ;** Methods **
  1424.  
  1425.  
  1426. ;** Attributes **
  1427.  
  1428.  
  1429.  
  1430.  
  1431. ;*******************************************
  1432. ;** End of automatic header file creation **
  1433. ;*******************************************
  1434.  
  1435.  
  1436. ****************************************************************************
  1437. **
  1438. ** Macro Section
  1439. ** -------------
  1440. **
  1441. ** To make GUI creation more easy and understandable, you can use the
  1442. ** macros below. If you dont want, just define MUI_NOSHORTCUTS to disable
  1443. ** them.
  1444. **
  1445. ** These macros are available to C programmers only.
  1446. **
  1447. *** NOTE: This .i file contains the corresponding macros for
  1448. *** assembler programmers.  All assembler related comments are
  1449. *** marked with three *'s.  The original comments and examples for
  1450. *** C are still intact.
  1451. **
  1452. ****************************************************************************
  1453.  
  1454.    IFND MUI_NOSHORTCUTS
  1455.  
  1456.  
  1457.  
  1458. ****************************************************************************
  1459. **
  1460. ** Object Generation
  1461. ** -----------------
  1462. **
  1463. ** The xxxObject (and xChilds) macros generate new instances of MUI classes.
  1464. ** Every xxxObject can be followed by tagitems specifying initial create
  1465. ** time attributes for the new object and must be terminated with the
  1466. ** End macro:
  1467. **
  1468. ** obj = StringObject,
  1469. **          MUIA_String_Contents, "foo",
  1470. **          MUIA_String_MaxLen  , 40,
  1471. **          End;
  1472. **
  1473. ** With the Child, SubWindow and WindowContents shortcuts you can
  1474. ** construct a complete GUI within one command:
  1475. **
  1476. ** app = ApplicationObject,
  1477. **
  1478. **          ...
  1479. **
  1480. **          SubWindow, WindowObject,
  1481. **             WindowContents, VGroup,
  1482. **                Child, String("foo",40),
  1483. **                Child, String("bar",50),
  1484. **                Child, HGroup,
  1485. **                   Child, CheckMark(TRUE),
  1486. **                   Child, CheckMark(FALSE),
  1487. **                   End,
  1488. **                End,
  1489. **             End,
  1490. **
  1491. **          SubWindow, WindowObject,
  1492. **             WindowContents, HGroup,
  1493. **                Child, ...,
  1494. **                Child, ...,
  1495. **                End,
  1496. **             End,
  1497. **
  1498. **          ...
  1499. **
  1500. **          End;
  1501. **
  1502. ****************************************************************************
  1503.  
  1504.  
  1505. ****************************************************************************
  1506. ***
  1507. *** These assembler macros behave somewhat in the same way as the C macros
  1508. *** but with some minor differences:
  1509. *** The macro names End, and SET are already in use in most assembler
  1510. *** compilers, so they are replaced with Endi and seti (for consistencys
  1511. *** sake get is also renamed to geti).
  1512. ***
  1513. *** You must provide memory for all the taglists needed in the object
  1514. *** creation.  The maximum memory needed is passed to you in the 
  1515. *** TAG_SPACE variable.  This is not the mimimum memory needed in most
  1516. *** cases and is often a few kilos too large, but this is the best I
  1517. *** could come up with the assembler macro commands.
  1518. *** Note that you must store the value of TAG_SPACE only after all
  1519. *** the objects are created.  TAG_SPACE is incremented as object
  1520. *** creation macros are called and in the end holds the maximum
  1521. *** theoretical tagitem space usage in bytes.  You pass the pointer to
  1522. *** this memory (which you have yourself allocated) in the register MR.
  1523. *** You can EQUR MR to any of the registers a3, a4 or a5 (the macros
  1524. *** don't use these registers).
  1525. ***
  1526. *** All calls to xxxObject and xxxGroup _must_ be finished with an Endi
  1527. *** call.  The Endi macro actually calls the MUI_NewObjectA function
  1528. *** and places the result object to the taglist.
  1529. ***
  1530. *** The MUIT macro is just a handy way of moving mixed stuff to the
  1531. *** taglist.  Upto 9 items can be moved to the stack on one source line.
  1532. *** You can move _only constants_ with the MUIT macro, use the
  1533. *** MUIT2 macro to move more mixed stuff (pointers, registers).
  1534. *** Remember to use # to denote constants when using MUIT2.
  1535. *** The Endi macro is a special case for the MUIT and MUIT2 macros.
  1536. *** This is snooped out and every 'MUIT Endi' call is converted to
  1537. *** an Endi macro call.
  1538. ***
  1539. *** Also the very common calls 'MUIT Child', 'MUIT SubWindow' and
  1540. *** 'MUIT WindowContents' have their own macros Childi, SubWindowi
  1541. *** and WindowContentsi.  Childi macro can take upto five arguments.
  1542. *** There are three versions of Childi: Childi, Child2 and Child3.
  1543. *** Templates for these macros are:
  1544. *** Childi [macro[,argument1[,argument2[,argument3[,argument4]]]]]
  1545. *** Child2 [macro[,macro[,macro[,macro[,macro]]]]]
  1546. *** Child3 [macro[,macro[,argument1[,argument2[,argument3]]]]]
  1547. *** Arguments for Childi are interpreted as the first one being a
  1548. *** full macro name and the last four arguments for this macro.
  1549. *** Arguments for Child2 are treated as macros placed on their
  1550. *** own separate lines.  These macros can't have any arguments.
  1551. *** Arguments for Child3 are treated as two macros placed on their
  1552. *** own separate lines.  The last macro can have three arguments.
  1553. ***
  1554. *** The C example above with these assembler macros:
  1555. ***
  1556. ***   ApplicationObject
  1557. ***   
  1558. ***      ...
  1559. ***
  1560. ***      SubWindowi
  1561. ***      WindowObject
  1562. ***         WindowContentsi
  1563. ***         VGroup
  1564. ***            Childi String,foo,40
  1565. ***            Childi String,bar,50
  1566. ***            Childi HGroup
  1567. ***               Childi Checkmark,TRUE
  1568. ***               Childi Checkmark,FALSE
  1569. ***               Endi
  1570. ***            Endi
  1571. ***         Endi
  1572. ***
  1573. ***      SubWindowi
  1574. ***      WindowObject
  1575. ***         WindowContentsi
  1576. ***         HGroup
  1577. ***            Childi
  1578. ***            ...
  1579. ***            Childi
  1580. ***            ...
  1581. ***            Endi
  1582. ***         Endi
  1583. ***
  1584. ***      ...
  1585. ***         
  1586. ***      Endi
  1587. ***      is app
  1588. ***
  1589. ***   app   dc.l  0
  1590. ***   bar   dc.b  "bar",0
  1591. ***   foo   dc.b  "foo",0
  1592. ***
  1593. ****************************************************************************
  1594.  
  1595. *** TAG_SPACE will hold the max taglist size in bytes
  1596.  
  1597. TAG_SPACE SET 0
  1598.  
  1599. *** Macros to move a tagitem to the taglist if it is given
  1600.  
  1601. cmv   MACRO ; Tag
  1602.    IFNC  '\1',''
  1603.    IFC   '\1','Endi'
  1604.       Endi
  1605.    ELSEIF
  1606.       move.l   #\1,(MR)+
  1607. TAG_SPACE SET TAG_SPACE+4
  1608.    ENDC
  1609.    ENDC
  1610.       ENDM
  1611.  
  1612. cmv2  MACRO ; Tag
  1613.    IFNC  '\1',''
  1614.    IFC   '\1','Endi'
  1615.       Endi
  1616.    ELSEIF
  1617.       move.l   \1,(MR)+
  1618. TAG_SPACE SET TAG_SPACE+4
  1619.    ENDC
  1620.    ENDC
  1621.       ENDM
  1622.  
  1623. *** Macro to move a tagitem to stack if it is given
  1624.  
  1625. cmv3  MACRO ; Tag
  1626.    IFNC  '\1',''
  1627.       move.l   \1,-(sp)
  1628.    ENDC
  1629.       ENDM
  1630.  
  1631. *** Macros to move max 9 tagitems to the taglist
  1632.  
  1633. MUIT  MACRO ; Tag1, [...]
  1634.       cmv   \1
  1635.       cmv   \2
  1636.       cmv   \3
  1637.       cmv   \4
  1638.       cmv   \5
  1639.       cmv   \6
  1640.       cmv   \7
  1641.       cmv   \8
  1642.       cmv   \9
  1643.       ENDM
  1644.  
  1645. MUIT2 MACRO ; Tag1, [...]
  1646.       cmv2  \1
  1647.       cmv2  \2
  1648.       cmv2  \3
  1649.       cmv2  \4
  1650.       cmv2  \5
  1651.       cmv2  \6
  1652.       cmv2  \7
  1653.       cmv2  \8
  1654.       cmv2  \9
  1655.       ENDM
  1656.  
  1657. *** DoMethod macro for easier assembler DoMethod'ing, max 20 tagitems.
  1658. *** Note that _DoMethod is defined in amiga.lib, so you must link
  1659. *** your own object code with it.
  1660.  
  1661. DoMethod    MACRO ; obj, MethodID, tag1, [...]
  1662.             movem.l  a0/a2,-(sp)
  1663.             move.l   sp,a2
  1664.             clr.l    -(sp)
  1665.             cmv3     \L
  1666.             cmv3     \K
  1667.             cmv3     \J
  1668.             cmv3     \I
  1669.             cmv3     \H
  1670.             cmv3     \G
  1671.             cmv3     \F
  1672.             cmv3     \E
  1673.             cmv3     \D
  1674.             cmv3     \C
  1675.             cmv3     \B
  1676.             cmv3     \A
  1677.             cmv3     \9
  1678.             cmv3     \8
  1679.             cmv3     \7
  1680.             cmv3     \6
  1681.             cmv3     \5
  1682.             cmv3     \4
  1683.             cmv3     \3
  1684.             cmv3     \2
  1685.             cmv3     \1
  1686.             jsr      _DoMethod
  1687.             move.l   a2,sp
  1688.             movem.l  (sp)+,a0/a2
  1689.             ENDM
  1690.  
  1691. *** MUI_Request macro for easier assembler MUI_Request'ing, max
  1692. *** 20 tagitems.
  1693.  
  1694. MUI_Request MACRO    ; app,win,flags,title,gadgets,format,[params,...]
  1695.             movem.l  a0-a4,-(sp)
  1696.             move.l   sp,a4
  1697.             cmv3     \L
  1698.             cmv3     \K
  1699.             cmv3     \J
  1700.             cmv3     \I
  1701.             cmv3     \H
  1702.             cmv3     \G
  1703.             cmv3     \F
  1704.             cmv3     \E
  1705.             cmv3     \D
  1706.             cmv3     \C
  1707.             cmv3     \B
  1708.             cmv3     \A
  1709.             cmv3     \9
  1710.             cmv3     \8
  1711.             cmv3     \7
  1712.             move.l   a4,a3
  1713.             move.l   #\6,a2
  1714.             move.l   #\5,a1
  1715.             move.l   #\4,a0
  1716.             move.l   #\3,d2
  1717.             move.l   \2,d1
  1718.             move.l   \1,d0
  1719.             CALLMUI  MUI_RequestA
  1720.             move.l   a4,sp
  1721.             movem.l  (sp)+,a0-a4
  1722.             ENDM
  1723.  
  1724. *** Macro for getting a pointer to an object you just created.
  1725. *** This is valid only after an Endi macro.
  1726.  
  1727. is          MACRO    ; pointer
  1728.             move.l   d0,\1
  1729.             ENDM
  1730.  
  1731. WindowObject         MACRO
  1732.                      movem.l  a0/a2,-(sp)
  1733.                      move.l   MUIC_Window,a0
  1734.                      move.l   a4,a2
  1735.                      ENDM
  1736. Endi                 MACRO
  1737.                      clr.l    (MR)+
  1738.                      move.l   a2,a1
  1739.                      CALLMUI  MUI_NewObjectA
  1740.                      move.l   a2,a4
  1741.                      movem.l  (sp)+,a0/a2
  1742.                      cmv2     d0
  1743.                      ENDM
  1744. ImageObject          MACRO
  1745.                      movem.l  a0/a2,-(sp)
  1746.                      move.l   MUIC_Image,a0
  1747.                      move.l   a4,a2
  1748.                      ENDM
  1749. NotifyWindowObject   MACRO
  1750.                      movem.l  a0/a2,-(sp)
  1751.                      move.l   MUIC_Notify,a0
  1752.                      move.l   a4,a2
  1753.                      ENDM
  1754. ApplicationObject    MACRO
  1755.                      movem.l  a0/a2,-(sp)
  1756.                      move.l   MUIC_Application,a0
  1757.                      move.l   a4,a2
  1758.                      ENDM
  1759. TextObject           MACRO
  1760.                      movem.l  a0/a2,-(sp)
  1761.                      move.l   MUIC_Text,a0
  1762.                      move.l   a4,a2
  1763.                      ENDM
  1764. RectangleObject      MACRO
  1765.                      movem.l  a0/a2,-(sp)
  1766.                      move.l   MUIC_Rectangle,a0
  1767.                      move.l   a4,a2
  1768.                      ENDM
  1769. ListObject           MACRO
  1770.                      movem.l  a0/a2,-(sp)
  1771.                      move.l   MUIC_List,a0
  1772.                      move.l   a4,a2
  1773.                      ENDM
  1774. PropObject           MACRO
  1775.                      movem.l  a0/a2,-(sp)
  1776.                      move.l   MUIC_Prop,a0
  1777.                      move.l   a4,a2
  1778.                      ENDM
  1779. StringObject         MACRO
  1780.                      movem.l  a0/a2,-(sp)
  1781.                      move.l   MUIC_String,a0
  1782.                      move.l   a4,a2
  1783.                      ENDM
  1784. ScrollbarObject      MACRO
  1785.                      movem.l  a0/a2,-(sp)
  1786.                      move.l   MUIC_Scrollbar,a0
  1787.                      move.l   a4,a2
  1788.                      ENDM
  1789. ListviewObject       MACRO
  1790.                      movem.l  a0/a2,-(sp)
  1791.                      move.l   MUIC_Listview,a0
  1792.                      move.l   a4,a2
  1793.                      ENDM
  1794. RadioObject          MACRO
  1795.                      movem.l  a0/a2,-(sp)
  1796.                      move.l   MUIC_Radio,a0
  1797.                      move.l   a4,a2
  1798.                      ENDM
  1799. VolumelistObject     MACRO
  1800.                      movem.l  a0/a2,-(sp)
  1801.                      move.l   MUIC_Volumelist,a0
  1802.                      move.l   a4,a2
  1803.                      ENDM
  1804. FloattextObject      MACRO
  1805.                      movem.l  a0/a2,-(sp)
  1806.                      move.l   MUIC_Floattext,a0
  1807.                      move.l   a4,a2
  1808.                      ENDM
  1809. DirlistObject        MACRO
  1810.                      movem.l  a0/a2,-(sp)
  1811.                      move.l   MUIC_Dirlist,a0
  1812.                      move.l   a4,a2
  1813.                      ENDM
  1814. ApplistObject        MACRO
  1815.                      movem.l  a0/a2,-(sp)
  1816.                      move.l   MUIC_Applist,a0
  1817.                      move.l   a4,a2
  1818.                      ENDM
  1819. DatatypeObject       MACRO
  1820.                      movem.l  a0/a2,-(sp)
  1821.                      move.l   MUIC_Datatype,a0
  1822.                      move.l   a4,a2
  1823.                      ENDM
  1824. SliderObject         MACRO
  1825.                      movem.l  a0/a2,-(sp)
  1826.                      move.l   MUIC_Slider,a0
  1827.                      move.l   a4,a2
  1828.                      ENDM
  1829. CycleObject          MACRO
  1830.                      movem.l  a0/a2,-(sp)
  1831.                      move.l   MUIC_Cycle,a0
  1832.                      move.l   a4,a2
  1833.                      ENDM
  1834. GaugeObject          MACRO
  1835.                      movem.l  a0/a2,-(sp)
  1836.                      move.l   MUIC_Gauge,a0
  1837.                      move.l   a4,a2
  1838.                      ENDM
  1839. ScaleObject          MACRO
  1840.                      movem.l  a0/a2,-(sp)
  1841.                      move.l   MUIC_Scale,a0
  1842.                      move.l   a4,a2
  1843.                      ENDM
  1844. BoopsiObject         MACRO
  1845.                      movem.l  a0/a2,-(sp)
  1846.                      move.l   MUIC_Boopsi,a0
  1847.                      move.l   a4,a2
  1848.                      ENDM
  1849. GroupObject          MACRO
  1850.                      movem.l  a0/a2,-(sp)
  1851.                      move.l   MUIC_Group,a0
  1852.                      move.l   a4,a2
  1853.                      ENDM
  1854. VGroup               MACRO
  1855.                      movem.l  a0/a2,-(sp)
  1856.                      move.l   MUIC_Group,a0
  1857.                      move.l   a4,a2
  1858.                      ENDM
  1859. HGroup               MACRO
  1860.                      movem.l  a0/a2,-(sp)
  1861.                      move.l   MUIC_Group,a0
  1862.                      move.l   a4,a2
  1863.                      MUIT     MUIA_Group_Horiz,TRUE
  1864.                      ENDM
  1865. ColGroup             MACRO ; cols
  1866.                      movem.l  a0/a2,-(sp)
  1867.                      move.l   MUIC_Group,a0
  1868.                      move.l   a4,a2
  1869.                      MUIT     MUIA_Group_Columns,\1
  1870.                      ENDM
  1871. RowGroup             MACRO ; rows
  1872.                      movem.l  a0/a2,-(sp)
  1873.                      move.l   MUIC_Group,a0
  1874.                      move.l   a4,a2
  1875.                      MUIT     MUIA_Group_Rows,\1
  1876.                      ENDM
  1877.  
  1878. Childi               MACRO ; [macro[,argument1[,argument2[,argument3[,argument4]]]]]
  1879.                      cmv   MUIA_Group_Child
  1880.                      \1 \2,\3,\4,\5
  1881.                      ENDM
  1882. Child2               MACRO ; [macro[,macro[,macro[,macro[,macro]]]]]
  1883.                      cmv   MUIA_Group_Child
  1884.                      \1
  1885.                      \2
  1886.                      \3
  1887.                      \4
  1888.                      \5
  1889.                      ENDM
  1890. Child3               MACRO ; [macro[,macro[,argument1[,argument2[,argument3]]]]]
  1891.                      cmv   MUIA_Group_Child
  1892.                      \1
  1893.                      \2 \3,\4,\5
  1894.                      ENDM
  1895. SubWindowi           MACRO
  1896.                      cmv   MUIA_Application_Window
  1897.                      ENDM
  1898. WindowContentsi      MACRO
  1899.                      cmv   MUIA_Window_RootObject
  1900.                      ENDM
  1901.  
  1902.  
  1903. Child          EQU   MUIA_Group_Child
  1904. SubWindow      EQU   MUIA_Application_Window
  1905. WindowContents EQU   MUIA_Window_RootObject
  1906.  
  1907.  
  1908.  
  1909. ****************************************************************************
  1910. **
  1911. ** Frame Types
  1912. ** -----------
  1913. **
  1914. ** These macros may be used to specify one of MUI's different frame types.
  1915. ** Note that every macro consists of one or more { ti_Tag, ti_Data }
  1916. ** pairs.
  1917. **
  1918. ** GroupFrameT() is a special kind of frame that contains a centered
  1919. ** title text.
  1920. **
  1921. ** HGroup, GroupFrameT("Horiz Groups"),
  1922. **    Child, RectangleObject, TextFrame  , End,
  1923. **    Child, RectangleObject, StringFrame, End,
  1924. **    Child, RectangleObject, ButtonFrame, End,
  1925. **    Child, RectangleObject, ListFrame  , End,
  1926. **    End,
  1927. **
  1928. ****************************************************************************
  1929.  
  1930. ****************************************************************************
  1931. ***
  1932. *** Assembler version of the above C example:
  1933. ***
  1934. *** HGroup
  1935. ***    GroupFrameT horizg
  1936. ***    Child2 RectangleObject,TextFrame,Endi
  1937. ***    Child2 RectangleObject,StringFrame,Endi
  1938. ***    Child2 RectangleObject,ButtonFrame,Endi
  1939. ***    Child2 RectangleObject,ListFrame,Endi
  1940. ***    Endi
  1941. ***
  1942. *** horizg  dc.b  "Horiz Groups",0
  1943. ***         even
  1944. ***
  1945. ****************************************************************************
  1946.  
  1947. *** These macros call MUIT themselves, do not use eg. 'MUIT NoFrame'
  1948.  
  1949. NoFrame     MACRO
  1950.             MUIT  MUIA_Frame,MUIV_Frame_None
  1951.             ENDM
  1952. ButtonFrame MACRO
  1953.             MUIT  MUIA_Frame,MUIV_Frame_Button
  1954.             ENDM
  1955. ImageButtonFrame  MACRO
  1956.             MUIT  MUIA_Frame,MUIV_Frame_ImageButton
  1957.             ENDM
  1958. TextFrame   MACRO
  1959.             MUIT  MUIA_Frame,MUIV_Frame_Text
  1960.             ENDM
  1961. StringFrame MACRO
  1962.             MUIT  MUIA_Frame,MUIV_Frame_String
  1963.             ENDM
  1964. ReadListFrame  MACRO
  1965.             MUIT  MUIA_Frame,MUIV_Frame_ReadList
  1966.             ENDM
  1967. InputListFrame MACRO
  1968.             MUIT  MUIA_Frame,MUIV_Frame_InputList
  1969.             ENDM
  1970. PropFrame   MACRO
  1971.             MUIT  MUIA_Frame,MUIV_Frame_Prop
  1972.             ENDM
  1973. GaugeFrame  MACRO
  1974.             MUIT  MUIA_Frame,MUIV_Frame_Gauge
  1975.             ENDM
  1976. GroupFrame  MACRO
  1977.             MUIT  MUIA_Frame,MUIV_Frame_Group
  1978.             ENDM
  1979. GroupFrameT MACRO ; s
  1980.             MUIT  MUIA_Frame,MUIV_Frame_Group,MUIA_Frame_Title,\1
  1981.             ENDM
  1982. VirtualFrame MACRO
  1983.             MUIT  MUIA_Frame,MUIV_Frame_Virtual
  1984.             ENDM
  1985.  
  1986.  
  1987. ****************************************************************************
  1988. **
  1989. ** Spacing Macros
  1990. ** --------------
  1991. **
  1992. ****************************************************************************
  1993.  
  1994. *** For these macros tagitem space is allocated from the stack and is
  1995. *** fixed in size.  So, there is no need for a separate Endi call.
  1996.  
  1997. HVSpace     MACRO
  1998.             move.l   a0,-(sp)
  1999.             move.l   MUIC_Rectangle,a0
  2000.             clr.l    -(sp)
  2001.             move.l   sp,a1
  2002.             CALLMUI  MUI_NewObjectA
  2003.             addq.l   #4,sp
  2004.             move.l   (sp)+,a0
  2005.             MUIT2    d0
  2006.             ENDM
  2007.    
  2008. HSpace      MACRO ; x
  2009.             move.l   a0,-(sp)
  2010.             move.l   MUIC_Rectangle,a0
  2011.             clr.l    -(sp)
  2012.             clr.l    -(sp)
  2013.             pea      MUIA_VertWeight
  2014.             move.l   #\1,-(sp)
  2015.          IFND  \1
  2016.             pea      MUIA_FixWidth
  2017.          ELSEIF
  2018.             pea      1.w
  2019.          ENDC
  2020.             move.l   sp,a1
  2021.             CALLMUI  MUI_NewObjectA
  2022.             lea      20(sp),sp
  2023.             move.l   (sp)+,a0
  2024.             MUIT2    d0
  2025.             ENDM
  2026.  
  2027. VSpace      MACRO ; x
  2028.             move.l   a0,-(sp)
  2029.             move.l   MUIC_Rectangle,a0
  2030.             clr.l    -(sp)
  2031.             clr.l    -(sp)
  2032.             pea      MUIA_HorizWeight
  2033.             move.l   #\1,-(sp)
  2034.          IFND  \1
  2035.             pea      MUIA_FixHeight
  2036.          ELSEIF
  2037.             pea      1.w
  2038.          ENDC
  2039.             move.l   sp,a1
  2040.             CALLMUI  MUI_NewObjectA
  2041.             lea      20(sp),sp
  2042.             move.l   (sp)+,a0
  2043.             MUIT2    d0
  2044.             ENDM
  2045.  
  2046. HCenter     MACRO ; obj
  2047.             HGroup
  2048.                GroupSpacing 0
  2049.                Childi HSpace,0
  2050.                Childi MUIT2,\1
  2051.                Childi HSpace,0
  2052.                Endi
  2053.             ENDM
  2054.  
  2055. VCenter     MACRO ; obj
  2056.             VGroup
  2057.                GroupSpacing 0
  2058.                Childi VSpace,0
  2059.                Childi MUIT2,\1
  2060.                Childi VSpace,0
  2061.                Endi
  2062.             ENDM
  2063.  
  2064. InnerSpacing   MACRO ; h,v
  2065.                MUIT MUIA_InnerLeft,\1,MUIA_InnerRight,\1,MUIA_InnerTop,\2,MUIA_InnerBottom,\2
  2066.                ENDM
  2067.  
  2068. GroupSpacing   MACRO ; x
  2069.                MUIT  MUIA_Group_Spacing,\1
  2070.                ENDM
  2071.  
  2072.  
  2073.  
  2074. ****************************************************************************
  2075. ***
  2076. *** You use these assembler macros like this:
  2077. ***
  2078. *** String mystr1,40
  2079. ***
  2080. *** CheckMark TRUE
  2081. ***
  2082. *** SimpleButton mysbut1
  2083. ***
  2084. *** KeyButton mykbut1,"c"
  2085. ***
  2086. *** Cycle myentr1
  2087. ***
  2088. *** KeyCycle myentr1,"k"
  2089. ***
  2090. *** Radio rname1,rbuts1
  2091. ***
  2092. *** String mystr1,35
  2093. *** is strobj1
  2094. *** Popup ST_Font,strobj1,MyHook,MUII_Popup
  2095. ***
  2096. ***
  2097. *** MyHook  rts   ; dummy hook, does nothing
  2098. *** mysrt1  dc.b  "String contents",0
  2099. ***         even
  2100. *** mysbut1 dc.b  "Button",0
  2101. ***         even
  2102. *** mykbut1 dc.b  "Cancel",0
  2103. ***         even
  2104. *** myentr1 dc.l  entrs1,entrs2,entrs3,NULL
  2105. *** entrs1  dc.b  "One",0
  2106. *** entrs2  dc.b  "Two",0
  2107. *** entrs3  dc.b  "Three",0
  2108. ***         even
  2109. *** rname1  dc.b  "Radio Buttons:",0
  2110. ***         even
  2111. *** rbuts1  dc.l  rbut1,rbut2,rbut3,NULL
  2112. *** rbut1   dc.b  "Button1",0
  2113. ***         even
  2114. *** rbut2   dc.b  "Button2",0
  2115. ***         even
  2116. *** rbut3   dc.b  "Button3",0
  2117. ***         even
  2118. *** strobj  dc.l  0
  2119. *** ST_Font dc.l  0
  2120. ***
  2121. ***
  2122. ****************************************************************************
  2123.  
  2124. ****************************************************************************
  2125. **
  2126. ** String-Object
  2127. ** -------------
  2128. **
  2129. ** The following macro creates a simple string gadget.
  2130. **
  2131. ****************************************************************************
  2132.  
  2133. String MACRO ; contents,maxlen
  2134.    StringObject
  2135.       StringFrame
  2136.       MUIT MUIA_String_MaxLen,\2
  2137.       MUIT MUIA_String_Contents,\1
  2138.       Endi
  2139.    ENDM
  2140.  
  2141. KeyString MACRO ; contents,maxlen,controlchar
  2142.    StringObject
  2143.       StringFrame
  2144.       MUIT MUIA_ControlChar,\3
  2145.       MUIT MUIA_String_MaxLen,\2
  2146.       MUIT MUIA_String_Contents,\1
  2147.       Endi
  2148.    ENDM       
  2149.  
  2150. ****************************************************************************
  2151. **
  2152. ** CheckMark-Object
  2153. ** ----------------
  2154. **
  2155. ** The following macro creates a checkmark gadget.
  2156. **
  2157. ****************************************************************************
  2158.  
  2159. CheckMark MACRO ; selected
  2160.    ImageObject
  2161.       ImageButtonFrame
  2162.       MUIT MUIA_InputMode,MUIV_InputMode_Toggle
  2163.       MUIT MUIA_Image_Spec,MUII_CheckMark
  2164.       MUIT MUIA_Image_FreeVert,TRUE
  2165.       MUIT MUIA_Selected,\1
  2166.       MUIT MUIA_Background,MUII_ButtonBack
  2167.       MUIT MUIA_ShowSelState,FALSE
  2168.       Endi
  2169.    ENDM
  2170.  
  2171. KeyCheckMark MACRO ; selected,control
  2172.    ImageObject
  2173.       ImageButtonFrame
  2174.       MUIT MUIA_InputMode,MUIV_InputMode_Toggle
  2175.       MUIT MUIA_Image_Spec,MUII_CheckMark
  2176.       MUIT MUIA_Image_FreeVert,TRUE
  2177.       MUIT MUIA_Selected,\1
  2178.       MUIT MUIA_Background,MUII_ButtonBack
  2179.       MUIT MUIA_ShowSelState,FALSE
  2180.       MUIT MUIA_ControlChar,\2
  2181.       Endi
  2182.    ENDM
  2183.  
  2184.  
  2185. ****************************************************************************
  2186. **
  2187. ** Button-Objects
  2188. ** --------------
  2189. **
  2190. ** Note: Use small letters for KeyButtons, e.g.
  2191. **       KeyButton("Cancel",'c')  and not  KeyButton("Cancel",'C') !!
  2192. **
  2193. ****************************************************************************
  2194.  
  2195. SimpleButton MACRO ; name
  2196.    TextObject
  2197.       ButtonFrame
  2198.       MUIT MUIA_Text_Contents,\1
  2199.       MUIT MUIA_Text_PreParse,PreParse
  2200.       MUIT MUIA_Text_SetMax,FALSE
  2201.       MUIT MUIA_InputMode,MUIV_InputMode_RelVerify
  2202.       MUIT MUIA_Background,MUII_ButtonBack
  2203.       Endi
  2204.    ENDM
  2205.  
  2206. KeyButton MACRO ; name,key
  2207.    TextObject
  2208.       ButtonFrame
  2209.       MUIT MUIA_Text_Contents,\1
  2210.       MUIT MUIA_Text_PreParse,PreParse
  2211.       MUIT MUIA_Text_SetMax,FALSE
  2212.       MUIT MUIA_Text_HiChar,\2
  2213.       MUIT MUIA_ControlChar,\2
  2214.       MUIT MUIA_InputMode,MUIV_InputMode_RelVerify
  2215.       MUIT MUIA_Background,MUII_ButtonBack
  2216.       Endi
  2217.    ENDM
  2218.  
  2219.  
  2220.  
  2221. ****************************************************************************
  2222. **
  2223. ** Cycle-Object
  2224. ** ------------
  2225. **
  2226. ****************************************************************************
  2227.  
  2228. Cycle MACRO ; entries
  2229.    CycleObject
  2230.       MUIT MUIA_Cycle_Entries,\1
  2231.       Endi
  2232.    ENDM
  2233.  
  2234. KeyCycle MACRO ; entries,key
  2235.    CycleObject
  2236.       MUIT  MUIA_Cycle_Entries,\1,MUIA_ControlChar,\2
  2237.       Endi
  2238.    ENDM
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244. ****************************************************************************
  2245. **
  2246. ** Popup-Object
  2247. ** ------------
  2248. **
  2249. ** An often needed GUI element is a string gadget with a little button
  2250. ** that opens up a (small) window with a list containing possible entries
  2251. ** for this gadget. Together with the Popup and the String macro,
  2252. ** such a thing would look like
  2253. **
  2254. ** VGroup,
  2255. **    Child, Popup(ST_Font, String("helvetica/13",32), &Hook, MUII_Popup),
  2256. **    ...,
  2257. **
  2258. ** ST_Font will hold a pointer to the embedded string gadget and can
  2259. ** be used to set and get its contents as with every other string object.
  2260. **
  2261. ** The hook will be called with the string gadget as object whenever
  2262. ** the user releases the popup button and could look like this:
  2263. **
  2264. ** ULONG __asm __saveds HookFunc(register __a2 APTR obj,MUII_File)
  2265. ** {
  2266. **    ...
  2267. **
  2268. **    // put our application to sleep while displaying the requester
  2269. **    set(Application,MUIA_Application_Sleep,TRUE);
  2270. **
  2271. **    // get the calling objects window and position
  2272. **    get(obj,MUIA_Window  ,&window);
  2273. **    get(obj,MUIA_LeftEdge,&l);
  2274. **    get(obj,MUIA_TopEdge ,&t);
  2275. **    get(obj,MUIA_Width   ,&w);
  2276. **    get(obj,MUIA_Height  ,&h);
  2277. **
  2278. **    if (req=MUI_AllocAslRequestTags(ASL_FontRequest,TAG_DONE))
  2279. **    {
  2280. **       if (MUI_AslRequestTags(req,
  2281. **          ASLFO_Window         ,window,
  2282. **          ASLFO_PrivateIDCMP   ,TRUE,
  2283. **          ASLFO_TitleText      ,"Select Font",
  2284. **          ASLFO_InitialLeftEdge,window->LeftEdge + l,
  2285. **          ASLFO_InitialTopEdge ,window->TopEdge  + t+h,
  2286. **          ASLFO_InitialWidth   ,w,
  2287. **          ASLFO_InitialHeight  ,250,
  2288. **          TAG_DONE))
  2289. **       {
  2290. **          // set the new contents for our string gadget
  2291. **          set(obj,MUIA_String_Contents,req->fo_Attr.ta_Name);
  2292. **       }
  2293. **       MUI_FreeAslRequest(req);
  2294. **    }
  2295. **
  2296. **    // wake up our application again
  2297. **    set(Application,MUIA_Application_Sleep,FALSE);
  2298. **
  2299. **    return(0);
  2300. ** }
  2301. **
  2302. ** Note: This macro needs a "APTR dummy;" declaration somewhere in your
  2303. **       code to work.
  2304. **
  2305. ****************************************************************************
  2306.  
  2307. Popup MACRO ; ptr,obj,hook,img
  2308.    HGroup
  2309.       GroupSpacing 1
  2310.       MUIT2 #Child,\2
  2311.       move.l   \2,\1
  2312.       Child2 ImageObject,ImageButtonFrame
  2313.          MUIT MUIA_Image_Spec,\4
  2314.          MUIT MUIA_Image_FontMatch_Width,TRUE
  2315.          MUIT MUIA_Image_FreeVert,TRUE
  2316.          MUIT MUIA_InputMode,MUIV_InputMode_RelVerify
  2317.          MUIT MUIA_Background,MUII_BACKGROUND
  2318.          Endi
  2319.       move.l   (sp),dummy
  2320.       MUIT TAG_IGNORE
  2321.       tst.l dummy
  2322.       beq.b pop\@
  2323.       tst.l \1
  2324.       beq.b pop\@
  2325.       DoMethod dummy,#MUIM_Notify,#MUIA_Pressed,#FALSE,\1,#2,#MUIM_CallHook,\2
  2326.       MUIT2 d0
  2327.       bra.b pup\@
  2328. pop\@ MUIT  0
  2329. pup\@ Endi
  2330.    ENDM
  2331.  
  2332.  
  2333.  
  2334. ****************************************************************************
  2335. **
  2336. ** Labeling Objects
  2337. ** ----------------
  2338. **
  2339. ** Labeling objects, e.g. a group of string gadgets,
  2340. **
  2341. **   Small: |foo   |
  2342. **  Normal: |bar   |
  2343. **     Big: |foobar|
  2344. **    Huge: |barfoo|
  2345. **
  2346. ** is done using a 2 column group:
  2347. **
  2348. ** ColGroup(2),
  2349. **    Child, Label2("Small:" ),
  2350. **    Child, StringObject, End,
  2351. **    Child, Label2("Normal:"),
  2352. **    Child, StringObject, End,
  2353. **    Child, Label2("Big:"   ),
  2354. **    Child, StringObject, End,
  2355. **    Child, Label2("Huge:"  ),
  2356. **    Child, StringObject, End,
  2357. **    End,
  2358. **
  2359. ** Note that we have three versions of the label macro, depending on
  2360. ** the frame type of the right hand object:
  2361. **
  2362. ** Label1(): For use with standard frames (e.g. checkmarks).
  2363. ** Label2(): For use with double high frames (e.g. string gadgets).
  2364. ** Label() : For use with objects without a frame.
  2365. **
  2366. ** These macros ensure that your label will look fine even if the
  2367. ** user of your application configured some strange spacing values.
  2368. ** If you want to use your own labeling, you'll have to pay attention
  2369. ** on this topic yourself.
  2370. **
  2371. ****************************************************************************
  2372.  
  2373. ****************************************************************************
  2374. ***
  2375. *** And the above C example in assembler:
  2376. ***
  2377. *** ColGroup 2
  2378. ***   Childi Label2,small
  2379. ***   Child2 StringObject,Endi
  2380. ***   Childi Label2,normal
  2381. ***   Child2 StringObject,Endi
  2382. ***   Childi Label2,big
  2383. ***   Child2 StringObject,Endi
  2384. ***   Childi Label2,huge
  2385. ***   Child2 StringObject,Endi
  2386. ***   Endi
  2387. ***
  2388. *** small   dc.b  "Small:",0
  2389. ***         even
  2390. *** normal  dc.b  "Normal:",0
  2391. ***         even
  2392. *** big     dc.b  "Big:",0
  2393. ***         even
  2394. *** huge    dc.b  "Huge:",0
  2395. ***         even
  2396. ***
  2397. ****************************************************************************
  2398.  
  2399. Label MACRO ; label
  2400.    TextObject
  2401.       MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
  2402.       MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
  2403.       Endi
  2404.    ENDM
  2405.  
  2406. Label1 MACRO ; label
  2407.    TextObject
  2408.       MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
  2409.       MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
  2410.       ButtonFrame
  2411.       MUIT MUIA_FramePhantomHoriz,TRUE
  2412.       Endi
  2413.    ENDM
  2414.  
  2415. Label2 MACRO ; label
  2416.    TextObject
  2417.       MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1,
  2418.       MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
  2419.       StringFrame
  2420.       MUIT MUIA_FramePhantomHoriz,TRUE
  2421.       Endi
  2422.    ENDM
  2423.  
  2424. KeyLabel MACRO ; label,hichar
  2425.    TextObject
  2426.       MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
  2427.       MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0,
  2428.       MUIT MUIA_Text_HiChar,\2
  2429.       Endi
  2430.    ENDM
  2431.  
  2432. KeyLabel1 MACRO ; label,hichar
  2433.    TextObject
  2434.       MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
  2435.       MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
  2436.       MUIT MUIA_Text_HiChar,\2
  2437.       ButtonFrame
  2438.       MUIT MUIA_FramePhantomHoriz,TRUE
  2439.       Endi
  2440.    ENDM
  2441.  
  2442. KeyLabel2 MACRO ; label,hichar
  2443.    TextObject
  2444.       MUIT MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
  2445.       MUIT MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
  2446.       MUIT MUIA_Text_HiChar,\2
  2447.       StringFrame
  2448.       MUIT MUIA_FramePhantomHoriz,TRUE
  2449.       Endi
  2450.    ENDM
  2451.  
  2452. ***************************************************************************
  2453. **
  2454. ** Radio-Object
  2455. ** ------------
  2456. **
  2457. ***************************************************************************
  2458.  
  2459. Radio    MACRO ;name,array
  2460.         RadioObject
  2461.         GroupFrameT \1
  2462.           MUIT MUIA_Radio_Entries,\2
  2463.         Endi
  2464.     ENDM
  2465.  
  2466. KeyRadio    MACRO ;name,array,key
  2467.         RadioObject
  2468.         GroupFrameT \1
  2469.                     MUIT MUIA_Radio_Entries,\2
  2470.         MUIT MUIA_ControlChar,\3
  2471.         Endi
  2472.     ENDM    
  2473.  
  2474.  
  2475.  
  2476. ***************************************************************************
  2477. **
  2478. ** Slider-Object
  2479. ** -------------
  2480. **
  2481. ***************************************************************************
  2482.  
  2483.  
  2484. Slider    MACRO ;min,max,level
  2485.        SliderObject
  2486.        MUIT MUIA_Slider_Min,\1
  2487.        MUIT MUIA_Slider_Max,\2
  2488.        MUIT MUIA_Slider_Level,\3
  2489.        Endi
  2490.     ENDM   
  2491.  
  2492. KeySlider    MACRO ;min,max,level,key
  2493.        SliderObject
  2494.        MUIT MUIA_Slider_Min, \1
  2495.        MUIT MUIA_Slider_Max, \2
  2496.        MUIT MUIA_Slider_Level, \3
  2497.        MUIT MUIA_ControlChar, \4
  2498.        Endi
  2499.     ENDM
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505. ****************************************************************************
  2506. **
  2507. ** Controlling Objects
  2508. ** -------------------
  2509. **
  2510. ** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
  2511. ** calls:
  2512. **
  2513. ** {
  2514. **    char *x;
  2515. **
  2516. **    set(obj,MUIA_String_Contents,"foobar");
  2517. **    get(obj,MUIA_String_Contents,&x);
  2518. **
  2519. **    printf("gadget contains '%s'\n",x);
  2520. ** }
  2521. **
  2522. ****************************************************************************
  2523.  
  2524. ****************************************************************************
  2525. ***
  2526. *** And the above C example in assembler:
  2527. ***
  2528. *** seti obj,#MUIA_String_Contents,#foobar
  2529. *** geti obj,#MUIA_String_Contents,#x
  2530. ***   move.l   #myfmt,d1
  2531. ***   move.l   #data,d2
  2532. ***   CALLDOS VPrintf
  2533. ***
  2534. *** foobar     dc.b  "foobar",0
  2535. ***            even
  2536. *** data       dc.l  x
  2537. *** x          dcb.b 10
  2538. *** myfmt      dc.b  "gadget contains '%s'",10,0
  2539. ***            even
  2540. ***
  2541. *** The names of the set and get macros have been changed to seti and geti
  2542. *** since most assemblers already have the pseudo op-code SET.
  2543. *** Note that seti is designed to take multiple tagitems (max 8).
  2544. ***
  2545. ****************************************************************************
  2546.  
  2547. geti  MACRO ; obj,attr,store
  2548.       move.l   \2,d0
  2549.       move.l   \1,a0
  2550.       move.l   \3,a1
  2551.       CALLINT GetAttr
  2552.       ENDM
  2553. seti  MACRO ; obj,attr,value [,attr,value,...]
  2554.       move.l   sp,a2
  2555.       cmv3     #TAG_DONE
  2556.       cmv3     \9
  2557.       cmv3     \8
  2558.       cmv3     \7
  2559.       cmv3     \6
  2560.       cmv3     \5
  2561.       cmv3     \4
  2562.       cmv3     \3
  2563.       cmv3     \2
  2564.       move.l   \1,a0
  2565.       move.l   sp,a1
  2566.       CALLINT SetAttrsA
  2567.       move.l   a2,sp
  2568.       ENDM
  2569.  
  2570. setmutex MACRO ; obj,n
  2571.       seti \1,#MUIA_Radio_Active,\2
  2572.       ENDM
  2573. setcycle MACRO ; obj,n
  2574.       seti \1,#MUIA_Cycle_Active,\2
  2575.       ENDM
  2576. setstring MACRO ; obj,s
  2577.       seti \1,#MUIA_String_Contents,\2
  2578.       ENDM
  2579. setcheckmark MACRO ; obj,b
  2580.       seti \1,#MUIA_Selected,\2
  2581.       ENDM
  2582. setslider MACRO ; obj,l
  2583.       seti \1,#MUIA_Slider_Level,\2
  2584.       ENDM
  2585.  
  2586.  
  2587.    ENDC  ;MUI_NOSHORTCUTS
  2588.  
  2589.  
  2590. * End of Include file, for using MUI from an application program. The rest
  2591. * of this is for custom class implementors only
  2592. *
  2593. *****************************************************************************
  2594. *****************************************************************************
  2595. *****************************************************************************
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609. ****************************************************************************
  2610. **
  2611. ** For Boopsi Image Implementors Only:
  2612. **
  2613. ** If MUI is using a boopsi image object, it will send a special method
  2614. ** immediately after object creation. This method has a parameter structure
  2615. ** where the boopsi can fill in its minimum and maximum size and learn if
  2616. ** its used in a horizontal or vertical context.
  2617. **
  2618. ** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
  2619. ** value. That's how MUI sees that the method is implemented.
  2620. **
  2621. ** Note: MUI does not depend on this method. If the boopsi image doesn't
  2622. **       implement it, minimum size will be 0 and maximum size unlimited.
  2623. **
  2624. ***************************************************************************/
  2625.  
  2626. MUIM_BoopsiQuery EQU      $80427157 ;* this is send to the boopsi and *
  2627.                                     ;* must be used as return value   *
  2628.  
  2629.  STRUCTURE MUI_BoopsiQuery,0              ;* parameter structure *
  2630.  
  2631.  LONG     mbq_MethodID             ;* always MUIM_BoopsiQuery */
  2632.  APTR     mbq_Screen               ;* obsolete, use mbq_RenderInfo */
  2633.  LONG     mbq_Flags;               ;* read only, see below */
  2634.  LONG     mbq_MinWidth             ;* write only, fill in min width  */
  2635.  LONG     mbq_MinHeight             ;* write only, fill in min height */
  2636.  LONG           mbq_MaxWidth             ;* write only, fill in max width  */
  2637.  LONG           mbq_MaxHeight            ;* write only, fill in max height */
  2638.  LONG           mbq_DefWidth             ;* write only, fill in def width  */
  2639.  LONG           mbq_DefHeight            ;* write only, fill in def height */
  2640.  APTR           mbq_RenderInfo             ;* read only, display context */
  2641.  
  2642.  LABEL MUI_BoopsiQuery_SIZEOF             ;* may grow in future ... */
  2643.  
  2644.  
  2645. MUIP_BoopsiQuery EQU MUI_BoopsiQuery  ;* old structure name *
  2646.  
  2647. MBQF_HORIZ EQU 1<<0                   ;* object used in a horizontal *
  2648.                                       ;* context (else vertical)     *
  2649.  
  2650. MBQ_MUI_MAXMAX EQU 10000              ;* use this for unlimited MaxWidth/Height *
  2651.  
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657.  
  2658. *************************************************************************
  2659. ** Structures and Macros for creating custom classes.
  2660. *************************************************************************
  2661.  
  2662.  
  2663. *
  2664. ** GENERAL NOTES:
  2665. **
  2666. ** - Everything described in this header file is only valid within
  2667. **   MUI classes. You may never use any of these things out of
  2668. **   a class, e.g. in a traditional MUI application.
  2669. **
  2670. ** - Except when otherwise stated, all structures are strictly read only.
  2671. *
  2672.  
  2673.  
  2674. * Global information for every object *
  2675.  
  2676.  STRUCTURE MUI_GlobalInfo,0
  2677.  
  2678.  LONG priv0
  2679.  APTR mgi_ApplicationObject
  2680.  
  2681.  * ... private data follows ... *
  2682.  
  2683.  
  2684.  
  2685.  
  2686. * Instance data of notify class *
  2687.  
  2688.  STRUCTURE MUI_NotifyData,0
  2689.  
  2690.  APTR mnd_GlobalInfo
  2691.  LONG mnd_UserData
  2692.  LONG priv1
  2693.  LONG priv2
  2694.  LONG priv3
  2695.  LONG priv4
  2696.  LONG priv5
  2697.  
  2698.  LABEL MUI_NotifyData_SIZEOF
  2699.  
  2700.  
  2701. * MUI_MinMax structure holds information about minimum, maximum
  2702. * and default dimensions of an object. *
  2703.  
  2704.  STRUCTURE MUI_MinMax,0
  2705.  
  2706.  WORD MinWidth
  2707.  WORD MinHeight
  2708.  WORD MaxWidth
  2709.  WORD MaxHeight
  2710.  WORD DefWidth
  2711.  WORD DefHeight
  2712.  
  2713.  LABEL MUI_MinMax_SIZEOF
  2714.  
  2715.  
  2716. MUI_MAXMAX EQU 10000 * use this if a dimension is not limited. *
  2717.  
  2718.  
  2719. * (partial) instance data of area class *
  2720.  
  2721.  STRUCTURE MUI_AreaData,0
  2722.  
  2723.  APTR mad_RenderInfo    ;* RenderInfo for this object *
  2724.  ULONG priv6        ;
  2725.  APTR mad_Font        ;* Font *
  2726.  STRUCT mad_MinMax,MUI_MinMax_SIZEOF    ;* min/max/default sizes *
  2727.  STRUCT mad_Box,ibox_SIZEOF    ;* position and dimension *
  2728.  BYTE mad_addleft    ;* frame & innerspacing left offset *
  2729.  BYTE mad_addtop    ;* frame & innerspacing top offset  *
  2730.  BYTE mad_subwidth    ;* frame & innerspacing add. width  *
  2731.  BYTE mad_subheight    ;* frame & innerspacing add. height *
  2732.  LONG mad_Flags        ;* see definitions below *
  2733.  
  2734.         ;* ... private data follows ... *
  2735.  
  2736.  
  2737. * Definitions for mad_Flags, other flags are private *
  2738.  
  2739. MADF_DRAWOBJECT    EQU         1<<0   * completely redraw yourself *
  2740. MADF_DRAWUPDATE EQU         1<<1   * only update yourself *
  2741.  
  2742.  
  2743.  
  2744.  
  2745. * MUI's draw pens *
  2746.  
  2747. MPEN_SHINE    EQU      0
  2748. MPEN_HALFSHINE    EQU      1
  2749. MPEN_BACKGROUND EQU      2
  2750. MPEN_HALFSHADOW EQU      3
  2751. MPEN_SHADOW    EQU      4
  2752. MPEN_TEXT    EQU      5
  2753. MPEN_FILL    EQU      6
  2754. MPEN_ACTIVEOBJ  EQU      7
  2755. MPEN_COUNT    EQU      8
  2756.  
  2757.  
  2758. * Information on display environment *
  2759.  
  2760.  STRUCTURE MUI_RenderInfo,0
  2761.  
  2762.  APTR mri_WindowObject    ;* valid between MUIM_Setup/MUIM_Cleanup *
  2763.  APTR mri_Screen    ;* valid between MUIM_Setup/MUIM_Cleanup *
  2764.  APTR mri_DrawInfo    ;* valid between MUIM_Setup/MUIM_Cleanup *
  2765.  WORD mri_Pens        ;* valid between MUIM_Setup/MUIM_Cleanup *
  2766.  APTR mri_Window    ;* valid between MUIM_Show/MUIM_Hide *
  2767.  APTR mri_RastPort    ;* valid between MUIM_Show/MUIM_Hide *
  2768.  
  2769.         ;* ... private data follows ... *
  2770.  
  2771.  
  2772.  
  2773. * the following macros can be used to get pointers to an objects
  2774. *   GlobalInfo and RenderInfo structures. */
  2775. *
  2776. *NOTE: These have not been converted from the C header.
  2777. ;
  2778. ;struct __dummyXFC2__ {
  2779. ;
  2780. ; STRUCT MUI_NotifyData mnd;
  2781. ;    struct MUI_AreaData   mad;
  2782. ;};
  2783. ;
  2784. ;#define muiNotifyData(obj) (&(((struct __dummyXFC2__ *)(obj))->mnd))
  2785. ;#define muiAreaData(obj)   (&(((struct __dummyXFC2__ *)(obj))->mad))
  2786. ;
  2787. ;define muiGlobalInfo(obj) (((struct __dummyXFC2__ *)(obj))->mnd.mnd_GlobalInfo)
  2788. ;#define muiUserData(obj)   (((struct __dummyXFC2__ *)(obj))->mnd.mnd_UserData)
  2789. ;#define muiRenderInfo(obj) (((struct __dummyXFC2__ *)(obj))->mad.mad_RenderInfo)
  2790.  
  2791.  
  2792.  
  2793. * User configurable keyboard events coming with MUIM_HandleInput *
  2794.  
  2795.  
  2796. MUIKEY_RELEASE         EQU -2 * not a real key, faked when MUIKEY_PRESS is released *
  2797. MUIKEY_NONE            EQU -1 
  2798. MUIKEY_PRESS        EQU  0
  2799. MUIKEY_TOGGLE        EQU  1
  2800. MUIKEY_UP        EQU  2        
  2801. MUIKEY_DOWN        EQU  3
  2802. MUIKEY_PAGEUP        EQU  4
  2803. MUIKEY_PAGEDOWN        EQU  5
  2804. MUIKEY_TOP        EQU  6
  2805. MUIKEY_BOTTOM        EQU  7
  2806. MUIKEY_LEFT        EQU  8
  2807. MUIKEY_RIGHT        EQU  9
  2808. MUIKEY_WORDLEFT        EQU 10
  2809. MUIKEY_WORDRIGHT    EQU 11
  2810. MUIKEY_LINESTART    EQU 12
  2811. MUIKEY_LINEEND        EQU 13
  2812. MUIKEY_GADGET_NEXT    EQU 14
  2813. MUIKEY_GADGET_PREV    EQU 15
  2814. MUIKEY_GADGET_OFF    EQU 16
  2815. MUIKEY_WINDOW_CLOSE    EQU 17
  2816. MUIKEY_WINDOW_NEXT    EQU 18
  2817. MUIKEY_WINDOW_PREV    EQU 19
  2818. MUIKEY_HELP        EQU 20
  2819. MUIKEY_POPUP        EQU 21
  2820. MUIKEY_COUNT         EQU 22 * counter *
  2821.  
  2822.  
  2823. ********************************************************************
  2824. * Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them *
  2825.  
  2826. * I Have left the original C macros here, so you can see what they are
  2827. * for, but I have not converted them to assembler.
  2828. *
  2829. *
  2830.  
  2831. ;#define _app(obj)         (muiGlobalInfo(obj)->mgi_ApplicationObject)
  2832. ;#define _win(obj)         (muiRenderInfo(obj)->mri_WindowObject)
  2833. ;#define _dri(obj)         (muiRenderInfo(obj)->mri_DrawInfo)
  2834. ;#define _window(obj)      (muiRenderInfo(obj)->mri_Window)
  2835. ;#define _screen(obj)      (muiRenderInfo(obj)->mri_Screen)
  2836. ;#define _rp(obj)          (muiRenderInfo(obj)->mri_RastPort)
  2837. ;#define _left(obj)        (muiAreaData(obj)->mad_Box.Left)
  2838. ;#define _top(obj)         (muiAreaData(obj)->mad_Box.Top)
  2839. ;#define _width(obj)       (muiAreaData(obj)->mad_Box.Width)
  2840. ;#define _height(obj)      (muiAreaData(obj)->mad_Box.Height)
  2841. ;#define _right(obj)       (_left(obj)+_width(obj)-1)
  2842. ;#define _bottom(obj)      (_top(obj)+_height(obj)-1)
  2843. ;#define _addleft(obj)     (muiAreaData(obj)->mad_addleft  )
  2844. ;#define _addtop(obj)      (muiAreaData(obj)->mad_addtop   )
  2845. ;#define _subwidth(obj)    (muiAreaData(obj)->mad_subwidth )
  2846. ;#define _subheight(obj)   (muiAreaData(obj)->mad_subheight)
  2847. ;#define _mleft(obj)       (_left(obj)+_addleft(obj))
  2848. ;#define _mtop(obj)        (_top(obj)+_addtop(obj))
  2849. ;#define _mwidth(obj)      (_width(obj)-_subwidth(obj))
  2850. ;#define _mheight(obj)     (_height(obj)-_subheight(obj))
  2851. ;#define _mright(obj)      (_mleft(obj)+_mwidth(obj)-1)
  2852. ;#define _mbottom(obj)     (_mtop(obj)+_mheight(obj)-1)
  2853. ;#define _font(obj)        (muiAreaData(obj)->mad_Font)
  2854. ;#define _flags(obj)       (muiAreaData(obj)->mad_Flags)
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860. * MUI_CustomClass returned by MUI_CreateCustomClass() *
  2861.  
  2862.  STRUCTURE MUI_CustomClass,0
  2863.  
  2864.  APTR mcc_UserData    ;* use for whatever you want *
  2865.  
  2866.  APTR mcc_UtilityBase    ;* MUI has opened these libraries *
  2867.  APTR mcc_DOSBase    ;* for you automatically. You can *
  2868.  APTR mcc_GfxBase    ;* use them or decide to open     *
  2869.  APTR mcc_IntuitionBase    ;* your libraries yourself.       *
  2870.  
  2871.  APTR mcc_Super        ;* pointer to super class   *
  2872.  APTR mcc_Class        ;* pointer to the new class *
  2873.  
  2874.         ;* ... private data follows ... *
  2875.  
  2876. ****************************************************************************
  2877.  
  2878.    ENDC  ;LIBRARIES_MUI_I
  2879.